2011-12-21 92 views
0

什麼是通過javascript提取表單中的textarea值的正確方法?通過javascript閱讀textarea

var subject = $("input#subject").val(); 
if (subject == "") { 
    $("label#subject_error").show(); 
    $("input#subject").focus(); 
    return false; 
} 
var description = $("textarea#description").val(); 
if (description == "") { 
    $("label#description_error").show(); 
    $("Textarea#description").focus(); 
    return false; 
} 

$("input#subject").val()工作正常,但不是$("textarea#description").val()。必須是我錯過的菜鳥錯誤。

謝謝!

+4

你的頁面上有一個'id'屬性爲「description」的'textarea'元素嗎? – 2011-12-21 21:24:40

+0

什麼'不工作'關於它?怎麼了? – Neal 2011-12-21 21:24:45

+0

正常工作:[jsFiddle](http://jsfiddle.net/w8zKU/1/) – Chad 2011-12-21 21:25:40

回答

0

應該工作。你可以驗證1)你的textarea元素包括屬性id="description"和2)否其他頁面上的元素和ID爲description

+0

雖然其他人是有效的答案。對我來說這是正確的。我不知何故錯過了表格中的id =「description」。不知道我錯過了那一個。 – shaiss 2011-12-22 00:57:22

2

​​3210有innerHTML,沒有價值。

$("textarea#description").html() 
+4

考慮OP的模擬點是使用jQuery,它知道這個異常並相應地計劃'.val()' - **編輯** [引用相對代碼](https://github.com/jquery/jquery/blob /master/src/attributes.js#L165-169) – 2011-12-21 21:26:27

+0

根據jQuery文檔和SO的幾個帖子,'.val()'確實可以與textarea-element一起工作,即使該元素沒有價值屬性。 – 2011-12-21 21:28:37

+0

'$(「」).get(0).value ===「a」',所以它確實具有'value'。 – pimvdb 2011-12-21 21:30:13

0

我只是嘗試在Chrome瀏覽器開發工具$('textarea').val()此頁面上可以得到textarea的價值,所以我不能確定爲什麼這是不是爲你工作。

事實上,我則剛剛發現這一點:其他jQuery get textarea text

一個點上,你被提元素的名稱,如果他們已經有一個ID過排位賽的選擇。由於ID只能應用於頁面上的一個元素,只需在選擇器中使用ID即可。

1

你的場景應該可以正常工作。這是一個Fiddle

您確定您的網頁上有textarea#description

0
<html lang="en"> 
    <head> 
    <script type="text/javascript"> 
     window.onload=function(){ 
    var txt = document.getElementById("t").value; 
    alert(txt); 
} 
</script> 
    </head> 

    <body> 
    <textarea id="t" rows="30" cols="40"> Hello to text area </textarea> 
    </body> 
    </html>