2009-07-17 2 views
1

XMLHttpRequest를 사용할 때 jquery datepick 또는 nicEdit을 호출 할 수없는 것처럼 보이기 때문에 도움말 (또는 예제)이 필요합니다.XMLHttpRequest 후에 nicEdit (편집 상자) 또는 jquery (텍스트 상자의 경우 datepicker)를 호출하는 방법은 무엇입니까?

내 코드는 4 PHP 파일과 함께 제공 :

<p>Main page:&nbsp;main.php<br /> 
    ++++++++++++++++++<br /> 
    &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;<br /> 
    &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br /> 
    &lt;head&gt;<br /> 
    &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;<br /> 
    &lt;title&gt;Education Centre&lt;/title&gt;<br /> 
    &lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;<br /> 
    &lt;script type=&quot;text/javascript&quot; src=&quot;script.js&quot;&gt;&lt;/script&gt;<br /> 
    &lt;script type=&quot;text/javascript&quot; src=&quot;mainjs.js&quot;&gt;&lt;/script&gt;<br /> 
    &lt;script src=&quot;http://js.nicedit.com/nicEdit-latest.js&quot; type='text/javascript'&gt;&lt;/script&gt;<br /> 
    &lt;script type=&quot;text/javascript&quot;&gt;bkLib.onDomLoaded(nicEditors.allTextAreas);&lt;/script&gt;</p> 
<p>&lt;/head&gt;<br /> 
    &lt;body onLoad=&quot;init_table();&quot;&gt;<br /> 
    &lt;div id=&quot;page&quot;&gt;<br /> 
    &lt;form name='form1'&gt;<br /> 
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;<br /> 
    &lt;div id=&quot;content&quot;&gt;<br /> 
    &lt;div id=&quot;showTable&quot;&gt;  &lt;/div&gt;<br /> 
    &lt;/div&gt;<br /> 
    &lt;/form&gt;<br /> 
    &lt;/div&gt;<br /> 
    &lt;!-- end page --&gt;<br /> 
    &lt;/body&gt;<br /> 
    &lt;/html&gt;<br /> 
</p> 
<br /> 


<p>mainjs.js<br /> 
    +++++++++<br /> 
    function init_table() {<br /> 
    requestInfo('showMain.php?mode=list&amp;prev_cid=1','showTable','');<br /> 
    }</p> 
<p>&nbsp;</p> 
<p>script.js [copied and tested to be ok with other pages]<br /> 
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> 
    function getHTTPObject() {<br /> 
    var xmlhttp;<br /> 
    <br /> 
    if(window.XMLHttpRequest){<br /> 
    xmlhttp = new XMLHttpRequest();<br /> 
    }<br /> 
    else if (window.ActiveXObject){<br /> 
    xmlhttp=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);<br /> 
    if (!xmlhttp){<br /> 
    xmlhttp=new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;);<br /> 
    }<br /> 
    <br /> 
    }<br /> 
    return xmlhttp;<br /> 
    }</p> 
<p>var http = getHTTPObject(); // We create the HTTP Object</p> 
<p>function requestInfo(url,id,redirectPage) { <br /> 
    var temp=new Array();<br /> 
    http.open(&quot;GET&quot;, url, true);<br /> 
    http.onreadystatechange = function() {<br /> 
    if (http.readyState == 4) {<br /> 
    if(http.status==200) {<br /> 
    var results=http.responseText;<br /> 
    if(redirectPage==&quot;&quot; || results!=&quot;1&quot;) {<br /> 
    var temp=id.split(&quot;~&quot;); // To display on multiple div <br /> 
    var r=results.split(&quot;~&quot;); // To display multiple data into the div <br /> 
    if(temp.length&gt;1) {<br /> 
    for(i=0;i&lt;temp.length;i++) { <br /> 
    document.getElementById(temp[i]).innerHTML=r[i];<br /> 
    }<br /> 
    } else {<br /> 
    document.getElementById(id).innerHTML = results;<br /> 
    } <br /> 
    <br /> 
    } else {<br /> 
    window.location.href=redirectPage; <br /> 
    }<br /> 
    } <br /> 
    }<br /> 
    };<br /> 
    http.send(null);<br /> 
    }<br /> 
</p> 

<br /> 
<p>showMain.php<br /> 
    ++++++++++++<br /> 
    &lt;?php<br /> 
header('Content-Type: text/xml');</p> 
<p>//include(&quot;config.php&quot;);<br /> 
    //include(&quot;mysql.lib.php&quot;);<br /> 
    //$obj=new connect;<br /> 
    <br /> 
    $netwkinfo = &quot;Some information pulled from database&quot;;<br /> 
    echo &quot;&lt;table&gt;&quot;;<br /> 
    echo &quot;&lt;tr&gt;&lt;td&gt;My Data&lt;/td&gt; &lt;td&gt;&lt;textarea id='netwkinfo' cols='75' rows='5' &gt;&quot; . $netwkinfo . &quot;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt;&quot;;<br /> 
    echo &quot;&lt;/tr&gt;&quot;;<br /> 
    echo &quot;&lt;/table&gt;&quot;;<br /> 
    ?&gt;<br /> 
</p> 

showMain.php가 표시되는 데이터베이스에서 데이터를 추출 파일은/etc 편집입니다 ...하지만 간단하게하기 위해 내가 $ netwkinfo에 값을 할당 .

편집 상자에 nicEdit 기능 (패널)이 표시됩니다. 불행히도 나는 그것을 볼 수 없다, 그냥 일반 편집 상자가 나타납니다. 무엇이 잘못 될 수 있으며 어떻게 작동하도록 수정해야합니까?

마찬가지로 IF showmain.php의 텍스트 상자에 jquery datepicker를 사용했는데 작동하지 않습니다. 나는 그것의 개념을 같다고 생각하지만, 어떻게 작동시키는지를 알 수 없었다.

여기에서 도움을 청합니다. 감사합니다. .

+1

당신은 코드를 편집하십시오 할 수는 쉽게 신속한 대답에 대한 – AutomatedTester

답변

0

대답 here에 힌트를 발견.

성공적으로 nicedit을 구현하지 못했지만 jquery의 datepicker가 해결되었습니다.

이 날짜 선택기를 위해 내가 사용 :

$(function(){ 
    $('.inputDate').live('click', function() { 
    $(this).datepicker({ 
     starts: 1, 
     position: 'right', 
     onChange: function(formated, dates){ 
     $('#inputDate').val(formated); 
     $('#inputDate').DatePickerHide(); 
     } 
    }); 
    }); 
}); 
0

페이지에 jQuery가 이미 있으므로 AJAX 기능을 사용하지 않는 이유 스크립트 파일을 훨씬 쉽게 읽을 수 있습니다.

mainjs.js

function init_table() { 
    requestInfo('showMain.php?mode=list&prev_cid=1','showTable',''); 
} 

script.js

function requestInfo(url,id,redirectPage) { 
    $.ajax({ type: "POST", 
     url: url, 
     data: id, 
     success: function(msg){ 
     var temp = id.split('~'); 
     var r= msg.split("~") 
     for (i=0;i<temp.length;i+=1){ 
     $(temp[i]).val(r[i]); 
     } 

     $(document).location.href = redirectPage; 
    }); 
+0

감사를 읽을 수 있도록 수정 scripts.js 작업을 나던. 또한 성공과 기능면에서 2 %를 잃은 것으로 생각됩니다. –

관련 문제