【问题标题】:No changes submitted in dynamically load tinymce动态加载 tinymce 中未提交任何更改
【发布时间】:2016-05-07 06:21:55
【问题描述】:

我有一个带有文本的 div,当我点击它时,我会加载一个 tinymce 编辑器。 我的问题是,当我在编辑器中更改文本并提交时,更改就消失了。

我有一个脚本的变通方法,它监听编辑器键并将编辑器内容复制到隐藏字段,但这不是最好的方法。 尤其是我还要听“粘贴”、“小对话框的变化”等等……

这是我的代码

<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>

这是一个小小的小提琴中的代码 http://fiddle.tinymce.com/2ofaab/1

你能帮帮我吗?

【问题讨论】:

    标签: jquery tinymce


    【解决方案1】:

    提交前在你的编辑器上使用getContent方法,将编辑器内容复制到你的隐藏字段。

    var content = editor.getContent();
    

    或者用http://archive.tinymce.com/wiki.php/TinyMCE3x:How-to_load/save_with_Ajax_in_TinyMCE描述的AJAX发布它

    【讨论】:

      【解决方案2】:

      我通过提到的带有隐藏字段的解决方法解决了这个问题。 我把这段代码放到我的 tinyMCE.init 中,它工作了。 @Pontus Ivarsson 感谢您的提示。

      setup: function(editor) {
          editor.on("change", function () {
              setTimeout(function () {
                  $("#"+TextAreaID+"_hidden").val(editor.getContent());
              }, 100);
          });
      },
      

      @Thariama 的回答对我来说似乎是合乎逻辑的,但没有奏效

      【讨论】:

        【解决方案3】:

        在将内容发送到后端服务器调用之前

        tinymce.get('content').save();
        

        一切正常(textarea 内容与编辑器内容一起更新)

        【讨论】:

        • 我试过了,但是内容不是最新的 $("#form").submit(function() { tinymce.get('content').save(); alert(tinyMCE .get('content').getContent()); });
        • 我用“TinyArea”和相应的“tinymce.get('TinyArea').save();”做了它
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-18
        • 1970-01-01
        • 1970-01-01
        • 2012-08-15
        • 1970-01-01
        • 2021-08-25
        相关资源
        最近更新 更多