我在一个非常简单的页面上运行CKeditor 3.4。我遇到了一个问题(有时),当我调用document.main_form.submit()时,它不会发送文本区域的内容。经过一些阅读后,听起来CKeditor似乎没有正确地销毁。我试图在保存表单之前手动销毁它,但无法调用它。奇怪的是,它有时是有效的,但在其他情况下就不行了。我用的是Chrome,所以这可能会搞砸一些东西,但同样的事情也会发生在Firefox上。
如何正确地销毁CKeditor,使其始终在POST中发送文本区数据。谢谢!
发布于 2010-09-01 05:20:00
我遇到了这个问题。太痛苦了。
要正确销毁编辑器实例,请尝试
if (CKEDITOR.instances.myInstanceName) CKEDITOR.instances.myInstanceName.destroy();
从documentation here
我在回发之前将编辑器的内容分配给一个隐藏字段,从而解决了缺少内容的问题。我使用的是ASP.Net,但它应该是通用的。
在提交按钮的客户端单击处理程序中,调用
if (CKEDITOR.instances.myInstanceName)
document.getElementById('hiddenField').value = CKEDITOR.instances.getData();
发布于 2014-12-06 15:38:35
我曾经使用angularjs ui-router,每个子视图都有一个CKEDITOR实例。我使用以下解决方案在每次加载ui-view时清除实例
for(name in CKEDITOR.instances)
{
CKEDITOR.instances[name].destroy()
}
发布于 2013-03-06 21:12:10
在我的情况下
CKEDITOR.instances.myInstanceName.destroy();
没有帮助,因为我在jquery dialog
中双击一些项目就打开了CKEditor。当我关闭编辑器然后再次打开它们时,我的代码崩溃了。
解决方案正在使用
CKEDITOR.instances.myInstanceName.destroy(false);
更新了DOM元素(link to documentation)。
https://stackoverflow.com/questions/3613215
复制相似问题