FormData()
Der FormData()
Konstruktor erzeugt ein neues FormData
-Objekt.
Anmerkung: Dieses Feature is verfügbar auf Web Workers.
Syntax
var formData = new FormData(form)
Parameter
form
Optional- Ein HTML
<form>
(en-US)-Element — wenn angegeben, wird das neueFormData
-Objekt mit den aktuellen Schlüssel/Wert-Paaren des form's gefüllt, wobei "name" der Schlüssel und "value" der Wert. Mitgeschickte Dateien werden ebenfalls codiert.
Example
So erzeugt man ein neues FormData
-Objekt:
var formData = new FormData(); // leer
Nun kann man ein Schlüssel/Wert-Paar hinzufügen mit FormData.append
(en-US):
formData.append('username', 'Chris');
Oder man gibt das optionale form
Argument an, um es direkt mit dessen Werten zu füllen:
<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>
Anmerkung: Alle input-Elemente haben das 'name'-Attribut. Das ist notwendig um die Werte auszuwerten.
var myForm = document.getElementById('myForm');
formData = new FormData(myForm);
Spezifikationen
Specification | Status | Comment |
---|---|---|
XMLHttpRequest Die Definition von 'FormData()' in dieser Spezifikation. |
Lebender Standard | Initial definition |
Browserkompatibilität
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 3.0 | ? | 4.0 (2.0) | ? |
12 |
? |
append with filename | ? | ? | 22.0 (22.0) | ? | ? | ? |
Available in web workers | ? | ? | 39.0 (39.0) | ? | ? | ? |
Note: XHR in Android 4.0 sends empty content for FormData with blob.
Gecko notes
Prior to Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4), if you specified a Blob
as the data to append to the object, the filename reported in the "Content-Disposition" HTTP header was an empty string; this resulted in errors being reported by some servers. Starting in Gecko 7.0, the filename "blob" is sent.