我有这个表单,我试图从文本区域获取值。由于某种原因,它不想。
<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);
});
任何想法?
答案 0 :(得分:120)
textarea的值也采用val
方法:
var message = $('textarea#message').val();
答案 1 :(得分:20)
答案 2 :(得分:16)
您应该使用val()
代替html()
var message = $('#message').val();
答案 3 :(得分:7)
在javascript中:
document.getElementById("message").value
答案 4 :(得分:4)
您无需使用textarea#message
var message = $('textarea#message').val();
您可以直接使用
var message = $('#message').val();
答案 5 :(得分:3)
在使用val()之前,你应该检查textarea为null,否则你将得到未定义的错误。
if ($('textarea#message') != undefined) {
var message = $('textarea#message').val();
}
然后,你可以对消息做任何事情。
答案 6 :(得分:2)
您还可以通过元素的 name属性来获取值。
var message = $("#formId textarea[name=message]").val();
答案 7 :(得分:1)
$('textarea#message')
无法定义(如果$
你的意思是jQuery)。
$('textarea#message')
的长度为0,然后$('textarea#message').val()
为空,
答案 8 :(得分:1)
您无需使用.html()
。你应该使用.val()
。
来自.val()
的文件:
.val()
方法主要用于获取表单元素的值,例如input
,select
和textarea
。在空集合上调用时,它将返回undefined
。
var message = $('#message').val();
答案 9 :(得分:1)
您可以直接使用
var message = $.trim($("#message").val());
了解更多@ Get the Value of TextArea using the jQuery Val () Method
答案 10 :(得分:0)
您还可以按名称获取值,而不是像这样的ID:
var message = $('textarea:input[name=message]').val();
答案 11 :(得分:-1)
所有值始终使用.val()
。
见下面的代码:
var message = $('#message').val();