我有一个自定义的CMS,使用
CKEditor *(FCKEditor v3)编辑内容。我还使用
jQuery Validation插件来检查所有字段之前的基于AJAX的提交错误。我使用
serialize()函数将数据传递到PHP后端。
问题是,serialize设法正确地获取所有字段,除了CKEditor中输入的实际内容。像所有其他所见即所得编辑器一样,这一个也覆盖了现有文本框上的iframe。并且serialize忽略iframe并且只看到内容的文本框,当然,它找不到,因此返回一个空白的内容正文。
我的方法是在CKEditor的onchange事件上创建一个钩子,并同时更新文本框(CKEDITOR.instances。[textBoxname] .getData()返回内容)或其他一些隐藏字段。
但是,由于CKEditor仍然处于beta阶段,严重缺乏文档,我找不到一个合适的API调用,让我这样做。
有谁有任何想法如何去这个?
解决方法
另一个通用的解决方案是运行以下每当你尝试提交表单
for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement();
这将强制表单中的所有CKEDITOR实例更新其各自的字段