2016-09-09 67 views
0

我的一個朋友的網站使用的是CKEditor 3.6.3。當我們通過jQuery/AJAX更新與CKEditor集成的div的內容時,CKEditor本身就會被破壞。如何解決這個問題?請注意,我們無法在此階段更新CKEditor。CKEditor在通過jQuery更新div內容後被破壞AJAX

這就是我們如何整合CKEditor的給我們的div:

<script type="text/javascript" src="ckeditor/ckeditor.js"></script> 
<?php 
include_once "ckeditor/ckeditor.php"; 
require_once 'ckfinder/ckfinder.php' ; 

$CKEditor = new CKEditor(); 
$CKEditor->basePath = '/ckeditor/'; 
$CKEditor->config['width'] = 600; 
$CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10); 
$initialValue = 'This is some sample text.'; 
CKFinder::SetupCKEditor($CKEditor,'ckfinder/') ; 
?> 

HTML:

<label for="desc">Description:</label> 
<div class="ckeditor" id="desc"><?php $CKEditor->editor('description', $description);?></div> 

的JQuery/AJAX:

$.ajax({ 
    beforeSend: startRequest, 
    url: "ajax/ajax.php", 
    cache: false, 
    data: "id="+id, 
    type: "POST", 
    dataType: "json", 
    success: function(data){ 
     if(data.error != "No result found.") 
     { 
      $("#desc").html(data.desc); 
     } 
    }); 
}); 

回答

0

你在做什麼是你更改divhtml其中實際上有一些iframe和ckeditor正常工作的東西。但是有一個內置的方法來改變ckeditor的內容。它是setData。所以你需要做:

editor.setData(data.desc);