【发布时间】:2011-12-03 00:36:10
【问题描述】:
在我的 php 程序中,我以常规方式在页面加载时或在使用 ajax 调用的对话框中显示输入表单。
有两种方法可以从 textarea 创建 CKEditor。要么使用jQuery
$("#textareaid").ckeditor();
或
window["textareaid"] = CKEDITOR.replace("textareaid");
在两种情况下,无论是在页面加载时还是在 ajax 调用之后,这两种方法都会创建我的富文本编辑器来代替我的 textarea。没关系。
问题从这里开始。在这些情况下,CKEditor 启动时没有任何控制台错误,但它从不更新 textarea 值并始终发送旧值。
1) 如果我在页面加载时创建我的文本区域并使用$("#textareaid").ckeditor();。 CKEditor 启动正常,没有任何控制台错误,但在常规表单提交时,发送的值为空(旧值)。
2) 如果我在 ajax 调用后创建我的 textarea 并使用 window["textareaid"] = CKEDITOR.replace("textareaid"); 。 CKEditor 再次正确启动,但如果我执行 $("form").serialize() 并提醒结果,我看到 textarea 值为空(旧值)。
我现在无法创建演示页面并上传,我知道没有我的代码没有人会尝试复制这个问题(至少我不会因为我太懒了)
我会准备一个演示页面来为你们复制这个问题,但在那之前我想问一下这里是否有人遇到过同样的问题并知道原因或找到了解决方案?
谢谢
【问题讨论】:
-
从来没有这个问题。如果您使用 Firebug 检查 textarea 并同时输入 textarea,您是否看到您的文本被添加到标签之间?
-
@Chris G. 在 Chrome 和 Firfox CKEditor 上都不会更新 textarea 标签之间的数据。我还检查了 CKEditor 的实际示例文件,它们也没有更新。
-
@ergec 你试过我的解决方案了吗?