Django/html内での定期的な送信では、投稿要求は( '名前'という名前の複数の選択がある場合) 'state'値と他の入力値のリストを収集してサーバーに送信します。
jqueryには、htmlの入力値をすべて集めて、ajaxコールの引数として含める同様の関数がありますか?
Django/html内での定期的な送信では、投稿要求は( '名前'という名前の複数の選択がある場合) 'state'値と他の入力値のリストを収集してサーバーに送信します。
jqueryには、htmlの入力値をすべて集めて、ajaxコールの引数として含める同様の関数がありますか?
jqueryのはこれがあなたのサーバーにポストされるのと同じ文字列にフォームをシリアル化します
var postData =$('form').serialize();
serialize
機能を持っています。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
<div class="summary">
<div class="trip">
<input name="city" value="Some City" type="text" />
<select name="State" class="state">
<option selected disabled>Choose a State</option>
<option value="1">California</option>
<option value="2">New York</option>
</select>
<select name="State" class="state">
<option selected disabled>Choose a State</option>
<option value="1">California</option>
<option value="2">New York</option>
</select> ... Repeated an unknown number of times. ...
<br><br>
</div>
</div>
<input type="button" id="submit" value="calculate">
</form>
<textarea id="data"></textarea>
<script>
$("#submit").click(function() {
var data = $("form").serialize()
$("#data").val(data);
return false;
});
</script>
また、あなたのフォーム内のすべての値の配列を与えるserializeArray
を使用することができます。
var postData =$('form').serialize();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
<div class="summary">
<div class="trip">
<input name="city" value="Some City" type="text" />
<select name="State" class="state">
<option selected disabled>Choose a State</option>
<option value="1">California</option>
<option value="2">New York</option>
</select>
<select name="State" class="state">
<option selected disabled>Choose a State</option>
<option value="1">California</option>
<option value="2">New York</option>
</select> ... Repeated an unknown number of times. ...
<br><br>
</div>
</div>
<input type="button" id="submit" value="calculate">
</form>
<textarea id="data"></textarea>
<script>
$("#submit").click(function() {
var m = {};
$("form").serializeArray().forEach(function(x, y) {
if(!m[x.name]) {
m[x.name] = x.value;
} else {
var d = [];
d.push(m[x.name]);
d.push(x.value);
m[x.name]=d;
}
});
$("#data").val(JSON.stringify(m));
return false;
});
</script>
JSONデータをシリアル化するには、マップ関数と完全なjQueryプラグインを使用することもできますが、それらはすべて少しずつ異なってシリアル化します。同様に誰もが望んでいます。彼らのJSONは多少異なる形式でシリアル化されているので、いくつかテストして、どの形式があなたの望む形式を提供するかを見てみましょう –
ありがとう! –
提出の最後にfalseを返す理由を聞かせますか? –
あなたはこのようにそれを行うことができます。
ボタンのタイプを「送信」に変更します。
フォームの送信イベントを処理し、フォームデータをシリアル化します。
<input type="submit" id="submit" value="calculate">
$("form").on("submit", function(event) {
event.preventDefault();
console.log($(this).serialize());
});
serializeのような意味ですか? https://api.jquery.com/serialize/ – Russell
シリアライズ機能を使用できます。 –
複数の '