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