jquery$.ajax();
関数を使用してフォームのデータを投稿し、使用しているフォームのデータを取得していnew FormData
ます。これは、フォームにも入力ファイルがあるためです。
問題は、フォームでもフィールドを無効にしたことです。通常は投稿されませんが、新しいFormData
ものを使用すると投稿されます。
この問題を解決するには?無効な入力フィールドを投稿する必要はありません!
jquery$.ajax();
関数を使用してフォームのデータを投稿し、使用しているフォームのデータを取得していnew FormData
ます。これは、フォームにも入力ファイルがあるためです。
問題は、フォームでもフィールドを無効にしたことです。通常は投稿されませんが、新しいFormData
ものを使用すると投稿されます。
この問題を解決するには?無効な入力フィールドを投稿する必要はありません!
問題は、フォームでもフィールドを無効にしたことです。通常、それらは投稿されませんが、使用すると投稿され
new FormData
ます。
XHRおよびHTML5によると、実際にはシリアル化してはなりません。それらのブラウザに対してバグを送信する必要があります。
この問題を解決するには?無効な入力フィールドを投稿する必要はありません!
私はあなたがそれらを必要としないだけです、修正を待ってください。それらを省略する必要がある場合は、次の回避策を試すことができます。
var $form = /* whatever you have */;
var $inputs = $form.find(":disabled").each(function() {
$(this).data("xhr-name", this.name);
this.name = ""; // fields with empty names must be ignored as well
});
var formdata = new FormData($form[0]);
$inputs.each(function() {
this.name = $(this).data("xhr-name");
});
これでもうまくいかない場合は、a) 入力を DOM から完全に切り離して後で復元するか、b)FormData
手動で作成することができます。