将文本从 TinyMCE 实时复制到它所连接的隐藏文本区域?
Live copy text from TinyMCE to the hidden textarea it is connected to?
我在使用 TinyMCE 时遇到的问题是它使我的隐藏文本区域(它在 TinyMCE 启动时隐藏)保持为空,直到提交它所在的表单。
我知道它可以通过回调之类的东西来完成,但如果有内置的方法来做到这一点,那将是开销很大,所以我想问一下有没有?
P.S。这不是 this question 的副本,因为它被问到已经很久了。
今天的答案与您链接到的答案基本相同,只是有一个内置的 TinyMCE API 来进行更新。
TinyMCE 不会始终保持底层 <textarea>
同步。通常,当您 post 表单时,TinyMCE 会在表单被 posted 之前更新 <textarea>
。您可以使用以下 API 调用强制 TinyMCE 更新 <textarea>
:
tinymce.triggerSave();
这将强制 TinyMCE 在调用时更新 <textarea>
。
TinyMCE 触发各种事件,您可以选择使用任意数量的这些事件作为更新的触发器:
https://www.tinymce.com/docs/advanced/events/
例如,这将在 change
或 blur
事件上更新编辑器:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.on('change blur', function () {
tinymce.triggerSave();
});
}
});
我在使用 TinyMCE 时遇到的问题是它使我的隐藏文本区域(它在 TinyMCE 启动时隐藏)保持为空,直到提交它所在的表单。
我知道它可以通过回调之类的东西来完成,但如果有内置的方法来做到这一点,那将是开销很大,所以我想问一下有没有?
P.S。这不是 this question 的副本,因为它被问到已经很久了。
今天的答案与您链接到的答案基本相同,只是有一个内置的 TinyMCE API 来进行更新。
TinyMCE 不会始终保持底层 <textarea>
同步。通常,当您 post 表单时,TinyMCE 会在表单被 posted 之前更新 <textarea>
。您可以使用以下 API 调用强制 TinyMCE 更新 <textarea>
:
tinymce.triggerSave();
这将强制 TinyMCE 在调用时更新 <textarea>
。
TinyMCE 触发各种事件,您可以选择使用任意数量的这些事件作为更新的触发器:
https://www.tinymce.com/docs/advanced/events/
例如,这将在 change
或 blur
事件上更新编辑器:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.on('change blur', function () {
tinymce.triggerSave();
});
}
});