フォーム送信時に、jQuery を使用してファイルを含むデータを収集し、次を使用してフォーム値の FormData オブジェクトを作成しています。
var formData = new FormData($("form#formid")[0]);
しかし、どうすれば別の値を追加でき、それがこの FormData オブジェクトのキーになるのでしょうか?
フォーム送信時に、jQuery を使用してファイルを含むデータを収集し、次を使用してフォーム値の FormData オブジェクトを作成しています。
var formData = new FormData($("form#formid")[0]);
しかし、どうすれば別の値を追加でき、それがこの FormData オブジェクトのキーになるのでしょうか?
var formData = new FormData($("form#formid")[0]);
formData.append("key", "value")
https://developer.mozilla.org/en/XMLHttpRequest/FormDataを参照してください
フォーム内のすべてのフィールドを繰り返し処理して、次のFormData
ように非常に簡単に追加できます。
var formData = new FormData();
$("form#edit-account").serializeArray().forEach(function(field) {
formData.append(field.name, field.value)
});
var data = new FormData(),
fields = $("#myForm").serializeArray();
$.each( fields, function( i, field ) {
data.append(field.name, field.value);
});
FormData.set()も使用できます。
FormData.set と append() の違いは、指定されたキーが既に存在する場合、FormData.set はすべての既存の値を新しい値で上書きするのに対し、append() は既存の値セットの末尾に新しい値を追加することです。 .
構文:
formData.set(name, value);