1. 開発者向けのウェブ技術
  2. Web API
  3. FormData
  4. FormData()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

FormData: FormData() コンストラクター

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

FormData() コンストラクターは、新しい FormData オブジェクトを生成します。

メモ: このメソッドはウェブワーカーで使用できます。

構文

js
new FormData()
new FormData(form)
new FormData(form, submitter)

引数

form 省略可

HTML の <form> 要素です。指定された場合、FormData オブジェクトは、その各要素の name プロパティをキーに、それらの送信される値を値として使い、フォームの現在のキーと値が設定されます。ファイルからの入力内容は、エンコードもされます。

submitter 省略可

form のメンバーである送信ボタンです。もし submittername 属性があるか、<input type="image"> であった場合、このデータは FormData オブジェクトに含まれます(例えば btnName=btnValue)。

例外

TypeError

指定した submitter送信ボタンでない場合に発生します。

NotFoundError DOMException

指定した submitterform のメンバーでない場合に発生します。submitter はフォーム要素の子孫であるか、フォームを参照する form 属性がなければなりません。

空の FormData の作成

次の行は、空の FormData オブジェクトを生成します。

js
const formData = new FormData();

append() を使って、これにキーと値のペアを追加することができます。

js
formData.append("username", "Chris");

HTML フォーム要素からの事前入力

オプションで formsubmitter を指定すると、FormData オブジェクトを作成する際に、指定したフォームの値を事前入力することができます。

メモ: FormData オブジェクトに含まれるのは、正常なフォームコントロールのみです。つまり、名前を持ち、無効状態でないものです。

HTML

html
<form id="form">
 <input type="text" name="text1" value="foo" />
 <input type="text" name="text2" value="bar" />
 <input type="text" name="text2" value="baz" />
 <input type="checkbox" name="check" checked disabled />
 <button name="intent" value="save">Save</button>
 <button name="intent" value="saveAsCopy">Save As Copy</button>
</form>
<output id="output"></output>
form {
 display: none;
}
output {
 display: block;
 white-space: pre-wrap;
}

JavaScript

js
const form = document.getElementById("form");
const submitter = document.querySelector("button[value=save]");
const formData = new FormData(form, submitter);
const output = document.getElementById("output");
for (const [key, value] of formData) {
 output.textContent += `${key}: ${value}\n`;
}

結果

簡潔にするため、<form> 要素は非表示にしています。

仕様書

仕様書
XMLHttpRequest
# dom-formdata

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /