你好,对不起,这是一个非常庞大的系统的一部分,如果我错过了一些东西,我就不会把它全部搞定,请问我,
我正在使用jQuerys ajaxForm http://jquery.malsup.com/form/ 和CKEditor http://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中的内容更新textarea有任何人有这个问题,并知道如何解决它?
答案 0 :(得分:1)
您用来调用this
的{{1}}是一个DOM节点而不是ckeditor对象。
在您提供的适配器链接上,它显示了如何从docs:
获取对编辑器实例的访问权限updateElement()
尝试将 var editor = $('.jquery_ckeditor').ckeditorGet();
更改为:
this.updateElement()
现在你应该在编辑器实例上调用更新