2011-04-03 128 views
1

我構建了一個基本的form,其中有一些元素,其中之一是textarea元素。 整個表單被包含在div中,當用戶單擊提交按鈕時,表單將被隱藏,並且textarea的值應該被顯示以供查看。無法檢索textarea的值

我正在使用jQuery檢索textarea中的數據,但也試過沒有它,但無濟於事。 我試過使用.text(),.val().html()。沒有哪個工作,即使.val()應該。

這裏是我目前使用的腳本:

$(function(){ 
    var ptext = $('#post_text'); 
    $('#submit').click(function() { 
     data = ptext.val(); 
     alert(data); 
     $('#form_container').fadeOut('slow', function(){ 
       $('#status').html(data); 
       return; 
     }); 
     $('#status').fadeIn('slow'); 
     return true; 
    }); 
}); 

...從形式textarea的

<div id="post_box"><textarea id="post_text" name="text" class="full"></textarea></div> 

產生額外的信息:我使用的是textarea的CKEditor的,但我不要認爲它會導致這樣的問題。也測試過IE8和Chrome。

任何想法?

+0

您的代碼看起來不錯。你有沒有收到警報? (沒有消息?)。 Javascript控制檯(firefox)顯示任何錯誤? – aldrin 2011-04-03 11:20:23

回答

3

當然這是CKEditor引起的。 textarea不再是一個textarea,它已經被別的東西取代,可能是一個iframe。由於textarea不再存在,因此無法使用val方法獲取文本。

使用getData法,從編輯器獲得text:

var data = CKEDITOR.instances.post_text.getData(); 
+0

謝謝。沒想到這一點。 – skystar 2011-04-03 11:34:44