【发布时间】:2010-10-29 18:39:07
【问题描述】:
我有一个自定义编写的 CMS,它使用 CKEditor *(FCKEditor v3) 来编辑内容。我还使用 jQuery Validation 插件在基于 AJAX 的提交之前检查所有字段是否有错误。我正在使用 serialize() 函数将数据传递到 PHP 后端。
问题是,序列化设法正确地抓取所有字段,除了在 CKEditor 中键入的实际内容。与其他所有 WYSIWYG 编辑器一样,这个编辑器也将 iframe 覆盖在现有文本框上。并且 serialize 忽略 iframe 并且只查看文本框的内容,当然,它没有找到,因此返回一个空白的内容正文。
我的方法是在 CKEditor 的 onchange 事件上创建一个挂钩,并同时更新文本框(CKEDITOR.instances.[textboxname].getData() 返回内容)或其他一些隐藏字段在编辑器中进行的任何更改。
但是,由于 CKEditor 仍处于 beta 阶段并且严重缺乏文档,我找不到合适的 API 调用来让我这样做。
有人知道如何解决这个问题吗?
【问题讨论】:
-
我已经想出了从 iframe 中获取内容的方法: $( '#cke_contents_body iframe' ).contents().find( 'body' ).html()...最接近的直接可寻址元素是 id 为“cke_contents_body”的 td。 CKEditor 用这个 td 包装 iframe。
-
还有待解决.. 一种通过挂钩 CKEditor 的更改事件来使用数据自动更新文本框的方法。有任何想法吗?有人吗?
-
新CKEditor版本解决了这个问题
标签: jquery ajax serialization iframe ckeditor