2011-12-13 38 views
1

我正在创建一个应用程序,我正在使用TinyMCE编辑器在文本区域中提供文本编辑选项。我想提供一个save功能,我想使用AJAX后保存textarea内容。如何访问TinyMCE用于文本编辑器的隐藏输入字段

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

很可能TinyMCE编辑器将它显示在屏幕上,只有当我们按下提交按钮时,它才会复制到底层的textarea。正因为如此,我不能够保存其在所键入的内容。

$(".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的文本编辑器,这是在屏幕上显示的文字。

回答

2

使用编辑器实例上的save method将内容从编辑器移动到textarea。

+0

+1这是要走的路 – Thariama 2011-12-14 09:04:49

0

加入这个tinyMCE.triggerSave();像这样:

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

这将解决您的问题。