Baseline Widely available
Die Methode requestSubmit()
von HTMLFormElement
fordert an, dass das Formular unter Verwendung eines bestimmten Absende-Buttons gesendet wird.
requestSubmit()
requestSubmit(submitter)
Parameter
submitter
Optional
Ein Absende-Button, der ein Mitglied des Formulars ist.
Wenn der submitter
form*
Attribute spezifiziert, werden diese das Absendeverhalten des Formulars überschreiben (z.B. formmethod="POST"
).
Wenn der submitter
ein name
Attribut besitzt oder ein <input type="image">
ist, werden seine Daten in die Formularübermittlung einbezogen (z.B. btnName=btnValue
).
Wenn Sie den submitter
Parameter weglassen, wird das Formularelement selbst als Submitter verwendet.
Keiner (undefined
).
TypeError
Wird ausgelöst, wenn der angegebene submitter
kein Absende-Button ist.
NotFoundError
DOMException
Wird ausgelöst, wenn der angegebene submitter
kein Mitglied des Formulars ist, auf dem requestSubmit()
aufgerufen wurde. Der Submitter muss entweder ein Nachfahre des Formularelements sein oder ein form
Attribut besitzen, das auf das Formular verweist.
Die offensichtliche Frage ist: Warum existiert diese Methode, wenn wir doch die submit()
Methode seit Anbeginn der Zeit haben?
Die Antwort ist einfach. submit()
sendet das Formular, aber das ist alles, was es tut. requestSubmit()
hingegen verhält sich so, als ob ein Absende-Button geklickt wurde. Der Inhalt des Formulars wird validiert, und das Formular wird nur gesendet, wenn die Validierung erfolgreich ist. Sobald das Formular gesendet wurde, wird das submit
Ereignis an das Formularobjekt zurückgesendet.
Im untenstehenden Beispiel wird das Formular versucht zu senden, indem requestSubmit()
verwendet wird, wenn dies verfügbar ist. Wird ein Absende-Button mit der ID main-submit
gefunden, wird dieser zum Senden des Formulars verwendet. Andernfalls wird das Formular ohne submitter
Parameter gesendet, sodass es direkt vom Formular selbst gesendet wird.
Falls requestSubmit()
nicht verfügbar ist, fällt dieser Code zurück auf das Aufrufen der submit()
Methode des Formulars.
let myForm = document.querySelector("form");
let submitButton = myForm.querySelector("#main-submit");
if (myForm.requestSubmit) {
if (submitButton) {
myForm.requestSubmit(submitButton);
} else {
myForm.requestSubmit();
}
} else {
myForm.submit();
}
Spezifikationen Browser-Kompatibilität
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4