FormData()

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

メモ: このメソッドは Web Workers で使用できます。

構文

var formData = new FormData(form)

引数

form 省略可

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

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

var formData = new FormData(); // Currently empty

FormData.append を使って、これにキーと値の組を追加することができます:

formData.append('username', 'Chris');

または、FormData オブジェクトを生成するときにオプションの form 引数を指定することにより、指定したフォームの値を設定することができます:

<form id="myForm" name="myForm">
  <div>
    <label for="username">Enter name:</label>
    <input type="text" id="username" name="username">
  </div>
  <div>
    <label for="useracc">Enter account number:</label>
    <input type="text" id="useracc" name="useracc">
  </div>
  <div>
    <label for="userfile">Upload file:</label>
    <input type="file" id="userfile" name="userfile">
  </div>
  <input type="submit" value="Submit!">
</form>

メモ: 正しく選択されたフォーム コントロールだけが FormData に含まれます。つまり、name 属性を持ち、disabled ではなく、checked (ラジオボタンやチェックボックス) または selected (選択リストのひとつ以上のオプション) であるものです。

let myForm = document.getElementById('myForm');
let formData = new FormData(myForm);

仕様書

Specification
XMLHttpRequest Standard
# dom-formdata

ブラウザーの対応

BCD tables only load in the browser

関連情報