1. ホーム
  2. javascript

[解決済み] jQueryを使用してフォームの入力フィールドを取得する?

2022-03-22 14:22:15

質問

多くの入力フィールドを持つフォームがあります。

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

どのように解決するのですか?

$('#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 フォーム入力 では動作しません。 serializeArray をjQueryバージョン1.3で使用することができます。これはバージョン1.4+で動作します。