jqueryでフォームデータをオブジェクトとして取得する方法

javascript jquery
jqueryでフォームデータをオブジェクトとして取得する方法

`jQuery( ‘#form_id’)。serialize()`を試しました。 これは、フォームデータのみをURLエンコードされた文字列として返します。 フォームデータをオブジェクトとして取得することは可能ですか?

  57  6


ベストアンサー

「serializeArray」を試しましたか? これにより、名前と値の配列が得られます。 あなたがしたいなら、あなたはそれをオブジェクトに変えることができます:

var paramObj = {};
$.each($('#myForm').serializeArray(), function(_, kv) {
  paramObj[kv.name] = kv.value;
});

(jQueryが配列で何をするかをもう一度確認する必要があります。それをJavascript配列値としてエンコードしますが、100%確信はありません。)

*編集*ああ、それは複数値パラメータを配列として設定しません-同じ名前の繰り返しを取得します。 したがって、オブジェクトの作成コードは次のようになります。

var paramObj = {};
$.each($('#myForm').serializeArray(), function(_, kv) {
  if (paramObj.hasOwnProperty(kv.name)) {
    paramObj[kv.name] = $.makeArray(paramObj[kv.name]);
    paramObj[kv.name].push(kv.value);
  }
  else {
    paramObj[kv.name] = kv.value;
  }
});

(またはそのようなもの。おそらく少し絞ることができます。)

93


serializeArray関数をご覧ください。

$('#form_id').serializeArray()

34


タイトルとURLをコピーしました