CKEditor jQuery不发送POST数据

时间:2013-05-20 13:10:32

标签: jquery ckeditor

我有动态页面加载,在页面中有链接,每个链接用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();
    });
}

1 个答案:

答案 0 :(得分:1)

  

所以我会破坏CKEditor实例(如果存在)。

不,你没有摧毁编辑。使用editor.destroy()方法代替私有CKEDITOR.remove,它只执行清理作业的一部分。

你应该:

if (CKEDITOR.instances.editor) {
    CKEDITOR.instances.editor.destroy();
}