従来の HTML のみの方法で送信された場合と同じように、フォームのデータを取得する簡単な 1 行の方法はありますか?
例えば:
<form>
<input type="radio" name="foo" value="1" checked="checked" />
<input type="radio" name="foo" value="0" />
<input name="bar" value="xxx" />
<select name="this">
<option value="hi" selected="selected">Hi</option>
<option value="ho">Ho</option>
</form>
出力:
{
"foo": "1",
"bar": "xxx",
"this": "hi"
}
このようなものは、テキストエリア、選択、ラジオ ボタン、チェックボックスが (正しく) 含まれていないため、単純すぎます。
$("#form input").each(function () {
data[theFieldName] = theFieldValue;
});
ベストアンサー1
使用$('form').serializeArray()
配列を返します:
[
{"name":"foo","value":"1"},
{"name":"bar","value":"xxx"},
{"name":"this","value":"hi"}
]
他の選択肢は$('form').serialize()
は文字列を返します:
"foo=1&bar=xxx&this=hi"
を見てみましょうこのjsfiddleデモ