11

フォーム送信時に、jQuery を使用してファイルを含むデータを収集し、次を使用してフォーム値の FormData オブジェクトを作成しています。

var formData = new FormData($("form#formid")[0]);

しかし、どうすれば別の値を追加でき、それがこの FormData オブジェクトのキーになるのでしょうか?

4

5 に答える 5

22
var formData = new FormData($("form#formid")[0]);
formData.append("key", "value")

https://developer.mozilla.org/en/XMLHttpRequest/FormDataを参照してください

于 2012-06-26T13:39:23.107 に答える
2

フォーム内のすべてのフィールドを繰り返し処理して、次のFormDataように非常に簡単に追加できます。

var formData = new FormData();
$("form#edit-account").serializeArray().forEach(function(field) {
  formData.append(field.name, field.value)
});​
于 2012-06-26T13:43:41.760 に答える
1
var data = new FormData(),
    fields = $("#myForm").serializeArray();

$.each( fields, function( i, field ) {
    data.append(field.name, field.value);
});
于 2016-05-06T10:24:22.923 に答える
1

FormData.set()も使用できます。

FormData.set と append() の違いは、指定されたキーが既に存在する場合、FormData.set はすべての既存の値を新しい値で上書きするのに対し、append() は既存の値セットの末尾に新しい値を追加することです。 .

構文:

formData.set(name, value);
于 2016-07-28T08:30:47.963 に答える