2011-12-13 70 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 
}); 

這將解決您的問題。