2013-11-14 51 views
0

單擊鏈接後調用此get_content函數。無法將動態加載的teaxtarea轉換爲ckeditor

function get_content(n) 
{ 
    var hr=new XMLHttpRequest(); 
    var url="./updatecontent.php"; 
    var vars="id="+n; 
    hr.open("POST",url,true); 
    hr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    hr.onreadystatechange=function() 
    { 
     if(hr.readyState==4 && hr.status==200) 
     { 
      var return_data=hr.responseText; 
      document.getElementById("content").innerHTML=return_data; 
     } 
    } 
    hr.send(vars); 
    document.getElementById("content").innerHTML='<img src="./img/loading.gif">'; 
} 

<div id="content"></div> 

以下是響應數據

<div id="text-editor" style="width:100%;"> 
<form action="" method="post"> 
<textarea class="ckeditor" name="editor1" id="txt1"></textarea> 
<input type="submit" name="update" value="Update"> 
</form> 
</div> 
<script src="./ckeditor/ckeditor.js"></script> 

的響應數據succefully加到div的ID = 「內容」

到CKEditor的相對鏈路是correct.But textarea的是不轉換成CKeditor。 錯在哪裏?請幫忙。

+0

哎呀。我只需要在succesfull ajax響應後添加這一行。 CKEDITOR.replace('txt1'); –

回答

3

在這種情況下,您需要在內容更改後致電CKEDITOR.replace('editor1')

所以你的情況這將是

function get_content(n) 
{ 
    var hr=new XMLHttpRequest(); 
    var url="./updatecontent.php"; 
    var vars="id="+n; 
    hr.open("POST",url,true); 
    hr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    hr.onreadystatechange=function() 
    { 
     if(hr.readyState==4 && hr.status==200) 
     { 
      var return_data=hr.responseText; 
      document.getElementById("content").innerHTML=return_data; 
      CKEDITOR.replace('editor1'); // <-- add this line 
     } 
    } 
    hr.send(vars); 
    document.getElementById("content").innerHTML='<img src="./img/loading.gif">'; 
} 
相關問題