私は、jsp ページonclick()
が JavaScript メソッドを呼び出すかどうかについて、疑問を持っています。
2つのシナリオがあります
onclick="return validatePage();"
onclick="validatePage();"
これら 2 つのタイプの JavaScript メソッドの呼び出しの違いは何ですか。
私は、jsp ページonclick()
が JavaScript メソッドを呼び出すかどうかについて、疑問を持っています。
2つのシナリオがあります
onclick="return validatePage();"
onclick="validatePage();"
これら 2 つのタイプの JavaScript メソッドの呼び出しの違いは何ですか。
最初に、関数の戻り値を返すことにより、関数が を返したときのイベントのデフォルト アクションをキャンセルしますfalse
。の呼び出しに似ていevent.preventDefault()
ます。これは特に、フォームの有効性をチェックするときに使用されます。この場合、戻るfalse
とフォームの送信がキャンセルされます。
ps。フォーム検証の場合、検証関数をボタンの にバインドする代わりに、フォームのイベントonclick
にアタッチする必要があります。onsubmit
このようにして、ユーザーが入力で Enter キーを押して送信をトリガーした場合でも、フォームは送信前にチェックされます。
JavaScript 関数から false を返す場合、onclick = "return validatePage();" フォームの値を送信しません。
ただし、onclick = "validatePage();"の場合は Javascript 関数から false を返す場合でも、フォームの値を送信します。
onclick イベントの場合、これら 2 つのシナリオは本質的に同等です。「return」を使用する理由は、onclick ではなく、フォームの onsubmit イベントにより密接に関連しています。onsubmit で使用すると、関数が false を返すとフォームが送信されなくなります。
番号 1 は、関数によって返された値を返しvalidatePage();
ます。false
これを使用して、キーの押下を中断したり (入力フィールドのに戻るonkeyup
)、またはアンカー ( <a href="....
) を JavaScript ボタンとして使用したりできます。番号 2 は単に関数を実行します。