jQuery ajaxForm和CKEditor没有按应有的方式保存



你好,很抱歉这是一个非常大的系统的一部分,我不会把它全部放进去。如果我错过了一些东西,请向我索取,

我正在使用jQuerys-ajaxFormhttp://jquery.malsup.com/form/和CKEditorhttp://ckeditor.com

根据CKeditor上的文档,jQuery适配器可以与ajaxForm一起使用http://ckeditor.com/blog/CKEditor_for_jQuery在"与编辑器实例的代码交互"部分的底部,

现在,我的所有内容都用AJAX加载到页面中,并且一个名为addonLoader的函数会随着数据的传递而启动,这是该函数中处理CKEditor 的部分

    // check there are not any instance's of CKEditor running
    $(".addonContent form textarea.editor").each(function(index, element) {
        $(this).ckeditor(function(){  this.destroy(); });
    });
    // add the content to the output area
    $(".addonContent").html(data);  
    // setup Ajax form values
    AJAXFormOptions = {
        success:       addonLoader
    };
    // activate ajaxForm on any forms from the data shown
    $(".addonContent form").ajaxForm(AJAXFormOptions);
// enable the content editor
$(".addonContent form textarea.editor").ckeditor({width:"800px"});

当我的表格由图像链接提交以激发此代码时

function submitForm(formID){
    (function($){
        $(".addonContent form textarea.editor").each(function(index, element) {
            $(this).ckeditor(function(e){
                this.updateElement();
            });
        });
        $(formID).submit(function(){    
            // prevent the browser redirect 
            return false;
        });
        $(formID).submit();
    })(jQuery)
}

我已经检查了formID是否正确,但由于某种原因,它仍然没有用放置在CKEditor中的内容更新文本区域。有人遇到过这个问题,知道如何解决吗?

用于调用updateElement()this是DOM节点,而不是ckeditor对象。

在您提供的适配器链接上,它显示了如何从文档中访问编辑器实例,如下所示:

 var editor = $('.jquery_ckeditor').ckeditorGet();

尝试将this.updateElement()更改为:

 $(this).ckeditorGet().updateElement()

现在您应该调用编辑器实例的更新

相关内容

  • 没有找到相关文章

最新更新