2011-11-09 209 views
2

我有一個問題:無法獲得更新textarea的價值

我有我的網頁上一個文本,看起來像這樣:

<textarea id='redactor_content' name='redactor_content' style='width: 720px; height: 320px;'>$news[3]</textarea> 

$news[3]是一個PHP變量,我從MySQL獲得。 redactor_content是一個所見即所得的編輯器,我編輯$news[3]的內容。內容編輯後,我想將它傳遞給mysql用下面的JavaScript來更新表:

function update_news(n_id) { 
    var title = $('#title').val(); 
    var news_body = $('#redactor_content').val(); 
    alert(news_body); 
    $.post(
     "update.php", 
     {n_id: n_id, title: title, body: news_body}, 
     "html" 
    )}; 

有JS中的2個變量,是n_idtitle。兩者都工作正常。但是當警報彈出news_body變量時,我會看到textarea的舊版本(最初在$ news [3]變量中),而不是新的更新版本。

我卡住了傢伙。任何幫助表示讚賞!

回答

2

大多數wysiwyg編輯器在頁面(通常是iframe)上創建一個新的獨立部分,覆蓋他們要替換的textarea。您需要告訴編輯將數據以「花哨」的圖形版本複製回原始表單字段,以便您的JS可以獲取更新版本。或者找出編輯器如何/在哪裏存儲覆蓋版本,以便從那裏抓取它。

+0

感謝,會嘗試尋找這辦法。順便說一句,如果這能幫助,我使用的編輯器是ElRTE – mrkrabs

+0

感謝您的幫助,回答我的問題是: 需要更換這行: VAR news_body = $(「#redactor_content」)VAL( ); 使用此行: var news_body = $('#redactor_content')。elrte('val'); 正如Marc B所說,EltrE編輯器有一些疊加。 – mrkrabs

0

redactor_content可能有一些客戶端功能允許您正確檢索值。像$('#redactor_content')[0].getTextValue()之類的東西。

這不是你真正的代碼,只是它如何工作的一個例子。

0

感謝您的幫助球員,回答我的問題是:這條線

var news_body = $('#redactor_content').val(); 

需要更換此行

var news_body = $('#redactor_content').elrte('val');