如何获得在jQuery中的textarea的价值?

我有这种forms,即时通讯尝试从文本区域获得价值。 由于某种原因,它不想。

<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">&nbsp;</dt> <dd id="id-element"> <input type="hidden" id="id" value="145198" name="id"></dd> <dt id="send_message-label">&nbsp;</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); }); 

或jsfiddle

有任何想法吗?

val方法也取得了textarea的值:

 var message = $('textarea#message').val(); 

您需要使用.val()作为textarea元素,而不是包装。 尝试

 $('textarea#message').val() 

更新小提琴

你应该使用val()而不是html()

 var message = $('#message').val(); 

你不需要使用textarea#message

 var message = $('textarea#message').val(); 

你可以直接使用

 var message = $('#message').val(); 

你应该在使用val()之前检查textarea是否为null,否则会得到未定义的错误。

 if ($('textarea#message') != undefined) { var message = $('textarea#message').val(); } 

然后,你可以做任何消息。

在javascript中:

 document.getElementById("message").value 

$('textarea#message')不能是未定义的(如果是$你的意思是jQuery当然)。

$('textarea#message')可能长度为0,然后$('textarea#message').val()将是空的这就是全部

所有的值总是与.val();

看代码bello

 var message = $('#message').val();