Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年9月.
HTMLFormElement の requestSubmit() メソッドは、特定の送信ボタンでフォームを送信することをリクエストします。
このフォームのメンバーである送信ボタンです。
submitter が form* 属性を指定している場合、このフォームの送信動作を上書きします(formmethod="POST" など)。
submitter に name 属性があるか<input type="image"> であった場合、フォームの送信時にそのデータが含まれます(btnName=btnValue など)。
submitter 引数を省略した場合、このフォーム要素自身が送信者として使用されます。
なし (undefined)。
指定された submitter が送信ボタンでなかった場合に発生します。
NotFoundError DOMException指定された submitter が、 requestSubmit() が呼び出されたフォームのメンバーでない場合に発生します。submitter は form 要素の子孫であるか、フォームを参照する form 属性を持たなければなりません。
明らかな疑問は、なぜこのメソッドが存在するのかということです。 submit() メソッドがあったのに、なぜこのメソッドが存在するのでしょうか?
答えは簡単です。submit() はフォームを送信しますが、それだけです。一方、requestSubmit() は、あたかも送信ボタンがクリックされたかのように動作します。フォームのコンテンツが検証され、検証が成功した場合にのみフォームが送信されます。フォームが送信されると、submit イベントがフォームオブジェクトに返送されます。
以下の例では、requestSubmit() が利用できる場合はそれを使用してリクエストの送信を試みることで、フォームを送信しています。 main-submit という ID の送信ボタンが得られた場合は、そのボタンを使用してフォームを送信します。そうでない場合は、 submitter 引数を指定せずに、フォーム自身から直接送信されます。
一方で、 requestSubmit() が利用できない場合、このコードは代わりにフォームの submit() メソッドを呼び出すことで送信を行います。
| HTML # dom-form-requestsubmit-dev |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年6月24日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.