111

私はこのフォームを持っていて、テキスト領域から値を取得しようとしています。何らかの理由でそれはしたくありません。

<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

何か案は?

4

12 に答える 12

200

textarea の値もvalメソッドで取得されます:

var message = $('textarea#message').val();
console.log(message);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea cols="60" rows="5" id="message" name="message">
Hello,
 world!
</textarea>

于 2012-05-08T22:11:18.250 に答える
28

.val()テキストエリアはラッパーではなく要素であるため、使用する必要があります。試す

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

更新されたフィドル

于 2012-05-08T22:11:36.453 に答える
22

val()代わりに使用する必要がありますhtml()

var message = $('#message').val();
于 2012-05-08T22:12:18.927 に答える
18

JavaScriptで:

document.getElementById("message").value
于 2016-07-08T10:06:21.590 に答える
3

val() を使用する前に textarea が null であることを確認する必要があります。そうしないと、未定義のエラーが発生します。

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

次に、メッセージで何でもできます。

于 2015-02-26T16:36:13.530 に答える
3

直接使用できます

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

続きを読む @ jQuery Val () メソッドを使用して TextArea の値を取得する

于 2018-03-27T13:01:35.610 に答える
2

すべての値は常に で取得され.val()ます。

以下のコードを参照してください。

var message = $('#message').val();
于 2016-02-07T14:39:49.973 に答える
2

$('textarea#message')未定義にすることはできません($もちろんjQueryを意味する場合)。

$('textarea#message')長さ 0 の可能性があり、その後$('textarea#message').val()は空になります。それだけです

于 2015-06-22T21:22:15.540 に答える