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 サイトの他の関連記事を参照してください。