问题
i have this form and im trying to get the value from the text area. for some reason it doesn\'t want to.
<form action=\"/profile/index/sendmessage\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">
<div class=\"upload_form\">
<dt id=\"message-label\"><label class=\"optional\" for=\"message\">Enter Message</label></dt>
<dd id=\"message-element\">
<textarea cols=\"60\" rows=\"5\" id=\"message\" name=\"message\"></textarea></dd>
<dt id=\"id-label\"> </dt>
<dd id=\"id-element\">
<input type=\"hidden\" id=\"id\" value=\"145198\" name=\"id\"></dd>
<dt id=\"send_message-label\"> </dt>
<dd id=\"send_message-element\">
<input type=\"submit\" class=\"sendamessage\" value=\"Send\" id=\"send_message\" name=\"send_message\"></dd>
</div>
</form>
$(\"input.sendamessage\").click(function(event) {
event.preventDefault();
var message = $(\'textarea#message\').html();
var id = $(\'input#id\').val();
console.log(message + \'-\' + id);
});
or jsfiddle
any ideas?
回答1:
Value of textarea is also taken with val method:
var message = $('textarea#message').val();
回答2:
You need to use .val() for textarea as it is an element and not a wrapper. Try
$('textarea#message').val()
Updated fiddle
回答3:
you should use val() instead of html()
var message = $('#message').val();
回答4:
in javascript :
document.getElementById("message").value
回答5:
You don't need to use textarea#message
var message = $('textarea#message').val();
You can directly use
var message = $('#message').val();
回答6:
You should check the textarea is null before you use val() otherwise, you will get undefined error.
if ($('textarea#message') != undefined) {
var message = $('textarea#message').val();
}
Then, you could do whatever with message.
回答7:
$('textarea#message') cannot be undefined (if by $ you mean jQuery of course).
$('textarea#message') may be of length 0 and then $('textarea#message').val() would be empty that's all
回答8:
You don't need to use .html(). You should go with .val().
From the doc of .val():
The
.val()method is primarily used to get the values of form elements such asinput,selectandtextarea. When called on an empty collection, it returnsundefined.
var message = $('#message').val();
回答9:
You can directly use
var message = $.trim($("#message").val());
Read more @ Get the Value of TextArea using the jQuery Val () Method
回答10:
You can also get value by name instead of id like this:
var message = $('textarea:input[name=message]').val();
回答11:
all Values is always taken with .val().
see the code bellow:
var message = $('#message').val();
来源:https://stackoverflow.com/questions/10507294/how-to-get-the-value-of-a-textarea-in-jquery