我有动态页面加载,在页面中有链接,每个链接用CKEditor打开编辑表单
我调用这些表单的JavaScript函数:
function editProduct(id) {
$("#add-product").hide();
if (CKEDITOR.instances['editor']) {
CKEDITOR.remove(CKEDITOR.instances['editor']);
}
$("#edit-product").load(homeurl+"/admin/edit/product",{id:id},function(){
$.getScript(homeurl+"/js/jquery.MultiFile.js");
$("#edit-product").find("#editor").ckeditor();
$("#edit-product").show();
});
}
所以我会破坏CKEditor实例(如果存在)。 在forst页面加载和打开表单一切都按预期进行,但是当我打开编辑表单后单击其他链接,这样它将打开另一个部分,它显示CKEditor但不发送POST数据。 我不使用jQuery发送数据。我将数据传递给iframe:
<form action="/admin/add/product" enctype="multipart/form-data" method="post" target="upload_iframe">
发送数据后,我用这个JavaScript函数刷新动态内容(它还检查编辑器实例并销毁它们)
function showPage(page) {
act_page = page;
$("#dynamic-content").load(homeurl+"/admin/getpage",{page:page},function(){
if (CKEDITOR.instances['editor']) {
CKEDITOR.remove(CKEDITOR.instances['editor']);
}
$('html,body').find('#editor').ckeditor();
});
}
答案 0 :(得分:1)
不,你没有摧毁编辑。使用所以我会破坏CKEditor实例(如果存在)。
editor.destroy()
方法代替私有CKEDITOR.remove
,它只执行清理作业的一部分。
你应该:
if (CKEDITOR.instances.editor) {
CKEDITOR.instances.editor.destroy();
}