如何在jquery中获取textarea的值?

Pat*_*cow 68 javascript jquery textarea

我有这个表单,我试图从文本区域获取值.由于某种原因,它不想.

<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);
});
Run Code Online (Sandbox Code Playgroud)

jsfiddle

有任何想法吗?

Vis*_*ioN 135

textarea的价值也采用以下val方法:

var message = $('textarea#message').val();
Run Code Online (Sandbox Code Playgroud)


Sel*_*gam 21

您需要使用.val()textarea,因为它是一个元素而不是包装器.尝试

$('textarea#message').val()
Run Code Online (Sandbox Code Playgroud)

更新了小提琴


und*_*ned 17

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

var message = $('#message').val();
Run Code Online (Sandbox Code Playgroud)


Sau*_*tel 7

在javascript中:

document.getElementById("message").value
Run Code Online (Sandbox Code Playgroud)

  • 来自 [Mozilla 文档](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea):“`&lt;textarea&gt;` 不支持 `value` 属性。” (2认同)

小智 5

你不需要使用 textarea#message

var message = $('textarea#message').val();
Run Code Online (Sandbox Code Playgroud)

你可以直接使用

var message = $('#message').val();
Run Code Online (Sandbox Code Playgroud)