动态加载 tinymce 中没有提交任何更改
No changes submitted in dynamically load tinymce
我有一个带有文本的 div,当我点击它时,我加载了一个 tinymce 编辑器。
我的问题是,当我在编辑器中更改文本并提交时,更改消失了。
我有一个脚本的解决方法,它监听编辑器的键盘输入并将编辑器内容复制到隐藏字段,但这不是最好的方法。
特别是我还要听"paste"、"changes in tiny-dialogs"等...
这是我的代码
<script type="text/javascript">
$(document).ready(function() {
$(".TinyLoadOnClick").click(function() {
$("#TinyArea").show();
$(this).hide();
tinymce.init({
selector: "textarea",
plugins: ["advlist autolink lists link image charmap print preview anchor","searchreplace visualblocks code fullscreen","insertdatetime media table contextmenu paste"],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
});
});
</script>
<form method="post" action="dump.php">
<div class="TinyLoadOnClick">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
</div>
<textarea id="TinyArea" style="display:none;" name="content">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
</textarea>
这是一小段代码 fiddle
http://fiddle.tinymce.com/2ofaab/1
你能帮帮我吗?
提交前在你的编辑器上使用getContent方法,将编辑器内容复制到你的隐藏字段。
var content = editor.getContent();
或post它与AJAX描述在http://archive.tinymce.com/wiki.php/TinyMCE3x:How-to_load/save_with_Ajax_in_TinyMCE
发送内容到后台服务器调用前
tinymce.get('content').save();
一切正常(文本区域内容随编辑器内容更新)
我使用上述带有隐藏字段的解决方法解决了这个问题。
我将此代码放入我的 tinyMCE.init 并且它起作用了。 @Pontus Ivarsson 感谢提示。
setup: function(editor) {
editor.on("change", function () {
setTimeout(function () {
$("#"+TextAreaID+"_hidden").val(editor.getContent());
}, 100);
});
},
@Thariama 的回答对我来说似乎合乎逻辑,但没有用
我有一个带有文本的 div,当我点击它时,我加载了一个 tinymce 编辑器。 我的问题是,当我在编辑器中更改文本并提交时,更改消失了。
我有一个脚本的解决方法,它监听编辑器的键盘输入并将编辑器内容复制到隐藏字段,但这不是最好的方法。 特别是我还要听"paste"、"changes in tiny-dialogs"等...
这是我的代码
<script type="text/javascript">
$(document).ready(function() {
$(".TinyLoadOnClick").click(function() {
$("#TinyArea").show();
$(this).hide();
tinymce.init({
selector: "textarea",
plugins: ["advlist autolink lists link image charmap print preview anchor","searchreplace visualblocks code fullscreen","insertdatetime media table contextmenu paste"],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
});
});
</script>
<form method="post" action="dump.php">
<div class="TinyLoadOnClick">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
</div>
<textarea id="TinyArea" style="display:none;" name="content">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
</textarea>
这是一小段代码 fiddle http://fiddle.tinymce.com/2ofaab/1
你能帮帮我吗?
提交前在你的编辑器上使用getContent方法,将编辑器内容复制到你的隐藏字段。
var content = editor.getContent();
或post它与AJAX描述在http://archive.tinymce.com/wiki.php/TinyMCE3x:How-to_load/save_with_Ajax_in_TinyMCE
发送内容到后台服务器调用前
tinymce.get('content').save();
一切正常(文本区域内容随编辑器内容更新)
我使用上述带有隐藏字段的解决方法解决了这个问题。 我将此代码放入我的 tinyMCE.init 并且它起作用了。 @Pontus Ivarsson 感谢提示。
setup: function(editor) {
editor.on("change", function () {
setTimeout(function () {
$("#"+TextAreaID+"_hidden").val(editor.getContent());
}, 100);
});
},
@Thariama 的回答对我来说似乎合乎逻辑,但没有用