jQueryを使用してフォーム入力フィールドを取得しますか?質問する

jQueryを使用してフォーム入力フィールドを取得しますか?質問する

入力フィールドが多数あるフォームがあります。

jQuery を使用してフォーム送信イベントをキャッチすると、そのフォームのすべての入力フィールドを連想配列で取得することは可能ですか?

ベストアンサー1

$('#myForm').submit(function() {
    // get all the inputs into an array.
    var $inputs = $('#myForm :input');

    // not sure if you wanted this, but I thought I'd add it.
    // get an associative array of just the values.
    var values = {};
    $inputs.each(function() {
        values[this.name] = $(this).val();
    });

});

Simon_Weaverさんのヒントのおかげで、別の方法でも実現できます。serializeArray:

var values = {};
$.each($('#myForm').serializeArray(), function(i, field) {
    values[field.name] = field.value;
});

このスニペットは要素では失敗することに注意してください<select multiple>

どうやら、新しい HTML 5 フォーム入力serializeArrayjQueryバージョン1.3では動作しません。バージョン1.4以降では動作します。

おすすめ記事