ホームページ >ウェブフロントエンド >jsチュートリアル >HTML を変更せずに JavaScript でフォーム送信を検出するにはどうすればよいですか?

HTML を変更せずに JavaScript でフォーム送信を検出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 08:52:30696ブラウズ

How Can I Detect Form Submissions in JavaScript Without Modifying HTML?

HTML を変更せずにフォーム送信を検出する

onSubmit や onClick などの HTML イベント属性に頼らずに JavaScript でフォーム送信を検出するには、以下を利用できます。 form 要素の addEventListener メソッドまたはattachEvent メソッド。

EventTarget.addEventListener の使用

addEventListener メソッドをサポートする最新のブラウザの場合、構文は次のとおりです。

<code class="javascript">var ele = /*Your Form Element*/;
if(ele.addEventListener){
    ele.addEventListener("submit", callback, false); 
}</code>

EventTarget.attachEvent の使用

addEventListener をサポートしていない古いバージョンの Internet Explorer の場合は、代わりにattachEvent を使用します。

<code class="javascript">else if(ele.attachEvent){
    ele.attachEvent('onsubmit', callback);        
}</code>

どちらでもこの場合、コールバックはフォームの送信時に実行する関数です。

デフォルトの送信の防止

フォームがネイティブに送信されないようにする必要がある場合は、e を使用します。コールバック関数内の .preventDefault():

<code class="javascript">document.querySelector("#myForm").addEventListener("submit", function(e){
    if(!isValid){
        e.preventDefault();    
    }
});</code>

ライブラリ統合

ライブラリの使用が優先される場合は、送信イベントをリッスンするための一般的なオプションをいくつか示します。 :

  • jQuery:

    <code class="javascript">$(ele).submit(callback);</code>
  • その他のライブラリ:
    のドキュメントを参照してください。特定の実装の詳細については、選択したライブラリを参照してください。

以上がHTML を変更せずに JavaScript でフォーム送信を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。