Вопрос по javascript, textarea, jquery – Как получить значение текстовой области в JQuery?

62

У меня есть эта форма, и я пытаюсь получить значение из текстовой области. по какой-то причине он не хочет.

<code><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);
});
</code>

или жеjsfiddle

есть идеи?

Ваш Ответ

11   ответов
16

вы должны использоватьval() вместоhtml()

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

val метод:

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

Вам нужно использовать.val() для текстовой области, поскольку это элемент, а не оболочка. Пытаться

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

Обновленная скрипка

4

textarea#message

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

Вы можете напрямую использовать

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

$('textarea#message') не может быть неопределенным (если$ ты имеешь ввиду jQuery конечно).

$('textarea#message') может быть длиной 0, а затем$('textarea#message').val() будет пустым, вот и все

1

var message = $.trim($("#message").val());

Прочитайте больше @Получить значение TextArea с помощью метода jQuery Val ()

7

в JavaScript:

document.getElementById("message").value
-1

.val().

см. код ниже:

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

вы должны проверить, что текстовое поле равно нулю, иначе вы получите неопределенную ошибку.

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

Затем вы можете сделать что угодно с сообщением.

0

например:

var message = $('textarea:input[name=message]').val();
1

.html(), Вы должны пойти с.val().

Из документа.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();

Похожие вопросы