gpt4 book ai didi

javascript - CKEditor getData 与文本区域中的内容不同步

转载 作者:行者123 更新时间:2023-12-02 16:49:17 27 4
gpt4 key购买 nike

我有一个网站,允许用户进行输入并创建新内容。我总是使用tinymce 作为输入字段。今天切换到 ckeditor 后,我注意到我遇到了与最初使用 tinymce 时遇到的相同问题:

提交表单时,编辑器中对内容所做的更改不会提交。不知何故,ckeditor.getData()方法似乎返回旧值(而不是更新后的值)。在某些情况下它会返回新值。 (这只发生在我尝试更新内容时,我使用 setData() 将其加载到编辑器中,而不是使用空的 ckeditor-elements)

我真的不明白ckeditor为什么要这样做......

在tinymce中,通过调用tinyMCE.triggerSave()解决了这个问题;在获取文本区域的内容之前,但我找不到 ckeditor 的等效项,有谁知道如何在尝试从编辑器中读取内容之前刷新内容?因为这开始让我发疯......

最佳答案

如果 CKEditor 替换 <textarea><form>它向表单的 onsubmit 添加一个监听器事件,因此当提交表单时 editor.updateElement() 调用方法以更新 <textarea> 的值.

我从未听说过提交表单时不会触发此机制的情况,但如果由于某些原因它不适合您,那么您可以:

  • 或者调用 editor.updateElement()手动方法,
  • 或使用 editor.getData() 方法直接获取数据并在 XHR 请求中使用它(如果这样做的话)(这可以解释为什么 onsubmit 不被执行)。

您可以阅读更多内容:

关于javascript - CKEditor getData 与文本区域中的内容不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com