how to get the value of a textarea in jquery?

风流意气都作罢 提交于 2019-11-26 09:01:51

问题


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\">&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);
});

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 as input, select and textarea. When called on an empty collection, it returns undefined.

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!