「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 明示的な送信リクエストを行わずに HTML フォームを送信すると、どのボタンが起動しますか?

明示的な送信リクエストを行わずに HTML フォームを送信すると、どのボタンが起動しますか?

2024 年 11 月 4 日に公開
ブラウズ:583

Which Button Fires When Submitting HTML Forms without an Explicit Submit Request?

HTML フォームのデフォルトの送信ボタンの決定

Enter キーを押すか JavaScript を使用するなど、明示的な送信ボタンなしでフォームが送信される場合、ブラウザは通常、特定の規則に従います。デフォルトの送信ボタンを識別するための規則。ただし、この動作はブラウザによって異なる場合があります。

Enter による送信

HTML 仕様によれば、フォーム内のテキストエリア以外のフィールドに入力する必要があります。フォーム送信をトリガーしません。ただし、ブラウザは独自の動作を実装しています:

  • Firefox、Opera、Safari: フォームの最初の送信ボタンを使用します。
  • Internet Explorer : コンテキストに応じて、最初の送信ボタンを使用するか、何も使用しない場合があります。

送信方法JavaScript

formElement.submit() を使用してプログラムでフォームを送信する場合、どの送信ボタンも成功とみなされず、その値は送信されたデータに含まれません。送信ボタンの click() メソッドが使用されている場合、その特定のボタンはアクティブであるとみなされます。

ブラウザの違い

仕様では、送信ボタンの決定の基準は定義されていません。 Enter キーを押したとき。ブラウザは次のようなヒューリスティックを使用する場合があります:

  • Internet Explorer: ソース順序の最初の送信ボタン。
  • Firefox、Opera: 送信tabindex が最も低いボタン。何も指定されていない場合は、最初に定義されたボタンに戻ります。
  • その他のブラウザ:動作はブラウザ固有であり、デフォルト以外の値の属性などの要因に依存する場合があります。

結論

Enter またはキーで送信するときのデフォルトの送信ボタンの動作JavaScript は標準化されておらず、ブラウザごとに異なります。一貫した動作を確保するには、特定の動作に依存することを避け、代わりに可能な限り明示的な送信ボタンを使用することをお勧めします。

リリースステートメント この記事は次の場所に転載されています: 1729497196 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3