2015-01-07 63 views
-4

我有一張表,我在前三列顯示一些數據,但在最後一列用戶輸入他的反饋/評論。提交後,數據將通過電子郵件發送併發送。AJAX HTML函數沒有得到textarea值

問題是 textarea中的值不會在提交時發佈。我的桌子上有6排。

樣品TR

<tr> 
<td>1</td> 
<td>TEST 123</td> 
<td>TEST</td> 
<td><input type="text" value="" id="prbt-rev" ></td> 
</tr> 

AJAX調用

$(document).on('click','#email',function(e){ 
e.preventDefault(); 

var reportData = $("#report-data").html(); 

var request = $.ajax({ 
      url   : '<?=base_url();?>healthcheck/sendEmail', 
      type  : 'POST', 
      data  : {report:reportData} 
     }); 
     request.done(function(response){ 
      $('#result').html(response); 
     }); }); 
+1

textarea在哪裏? – atmd

+0

你在json對象中傳遞html?你想把什麼東西輸入到數據對象中?報告可以緊跟一個字符串。 – Shouvik

+0

似乎沒有什麼與這個問題相對應。不相關的HTML標記,不相關的js代碼。改善你的問題,使其更清晰... –

回答

1

您選擇#report-data不匹配您分享的HTML的任何元素。無論是一些HTML丟失還是您使用了錯誤的選擇器。

jQuery html()方法獲取所選元素的子節點。文本輸入沒有任何子節點。 textarea的子節點描述其默認值值,而不是其當前值。

使用val()來讀取表單控件的當前值。

+0

這只是一個例子 – jawadxiv

+0

@jawadxiv - 證明問題的例子比沒有例子的更好。 – Quentin

0

您的HTML代碼中缺少您在jquery中獲得的字段!

如果你在這裏把你的完整的代碼放在這裏,你使用的是更有幫助和容易的提示。