如何访问TinyMCE用于文本编辑器的隐藏输入字段

时间:2011-12-13 17:38:52

标签: jquery django tinymce textarea text-editor

我正在创建一个应用程序,我使用TinyMCE编辑器在文本区域中提供文本编辑选项。我想提供save功能,我希望使用AJAX帖子保存textarea内容。

所以在按钮上单击我使用form.serialize()在AJAX请求中发送它。下面是我正在使用的jquery。根据这个,它应该序列化除了一个名称csrfmiddlewaretoken之外设置的所有字段。 textarea的id是id_text,由django模型给出。但问题是我在编辑器中输入的任何文本实际上都没有复制到我的textarea上。

很可能TinyMCE编辑器在屏幕上显示它,只有当我们按下提交按钮时,它才会复制到底层文本区域。因此,我无法保存正在输入的内容。

$(".preview_button").click(function() 
    {           
        $.ajax({
          type: "POST",
          url: current_link,
          data: $("#blog_form :input[name!='csrfmiddlewaretoken']").serialize(),
          dataType: 'json',
          success: function(data) 
          {
            var preview_link = location.host;
            preview_link = preview_link + data;
            window.open(data,'preview_tab');
            $("#reply-message").html('Form saved' + $("#blog_form :input[name!='csrfmiddlewaretoken']").serialize());
          },
          error: function(request,error) 
          {
            // display success message and reset values in the form fields
            $("#reply-message").html('Form not saved because error:' + error);
          },

        });

        return false;   
    });

有人可以告诉我如何访问TinyMCE文本编辑器中的文本,如屏幕上所示。

3 个答案:

答案 0 :(得分:2)

使用编辑器实例上的save method将内容从编辑器移动到文本区域。

答案 1 :(得分:2)

答案 2 :(得分:0)

添加这个tinyMCE.triggerSave();就像那样:

tinyMCE.triggerSave();
$.ajax({
// Your code
});

它将解决您的问题。