2016-09-09 3 views
0

Один из сайтов моего друга использует CKEditor 3.6.3. Когда мы обновляем содержимое div, интегрированного с CKEditor через jQuery/AJAX, сам CKEditor уничтожается. Как решить эту проблему? Обратите внимание: мы не можем обновить CKEditor на этом этапе.CKEditor уничтожается после обновления содержимого div через jQuery AJAX

Это, как мы интегрируем CKEditor нашей дивы:

<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

Что вы делаете, вы изменяя div's html, где на самом деле есть некоторый iframe и материал для работы ckeditor. Но есть встроенный метод изменения содержимого ckeditor. это setData. Таким образом, вам необходимо:

editor.setData(data.desc); 
Смежные вопросы