HTMLFormElement: requestSubmit() メソッド
HTMLFormElement の requestSubmit() メソッドは、特定の送信ボタンでフォームを送信することをリクエストします。
構文
js
requestSubmit()
requestSubmit(submitter)
引数
submitter省略可-
このフォームのメンバーである送信ボタンです。
submitterがform*属性を指定している場合、このフォームの送信動作を上書きします(formmethod="POST"など)。submitterにname属性があるか<input type="image">であった場合、フォームの送信時にそのデータが含まれます(btnName=btnValueなど)。submitter引数を省略した場合、このフォーム要素自身が送信者として使用されます。
返値
なし (undefined)。
例外
TypeError-
指定された
submitterが送信ボタンでなかった場合に発生します。 NotFoundErrorDOMException-
指定された
submitterが、requestSubmit()が呼び出されたフォームのメンバーでない場合に発生します。submitter は form 要素の子孫であるか、フォームを参照するform属性を持たなければなりません。
使用上の注意
例
以下の例では、requestSubmit() が利用できる場合はそれを使用してリクエストの送信を試みることで、フォームを送信しています。 main-submit という ID の送信ボタンが得られた場合は、そのボタンを使用してフォームを送信します。そうでない場合は、 submitter 引数を指定せずに、フォーム自身から直接送信されます。
一方で、 requestSubmit() が利用できない場合、このコードは代わりにフォームの submit() メソッドを呼び出すことで送信を行います。
js
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();
}
仕様書
| Specification |
|---|
| HTML Standard # dom-form-requestsubmit-dev |
ブラウザーの互換性
BCD tables only load in the browser