1

私は、jsp ページonclick()が JavaScript メソッドを呼び出すかどうかについて、疑問を持っています。

2つのシナリオがあります

  1. onclick="return validatePage();"
  2. onclick="validatePage();"

これら 2 つのタイプの JavaScript メソッドの呼び出しの違いは何ですか。

4

4 に答える 4

2

最初に、関数の戻り値を返すことにより、関数が を返したときのイベントのデフォルト アクションをキャンセルしますfalse。の呼び出しに似ていevent.preventDefault()ます。これは特に、フォームの有効性をチェックするときに使用されます。この場合、戻るfalseとフォームの送信がキャンセルされます。

ps。フォーム検証の場合、検証関数をボタンの にバインドする代わりに、フォームのイベントonclickにアタッチする必要があります。onsubmitこのようにして、ユーザーが入力で Enter キーを押して送信をトリガーした場合でも、フォームは送信前にチェックされます。

于 2012-11-20T10:45:44.133 に答える
1

JavaScript 関数から false を返す場合、onclick = "return validatePage();" フォームの値を送信しません。

ただし、onclick = "validatePage();"の場合は Javascript 関数から false を返す場合でも、フォームの値を送信します。

于 2012-11-20T10:44:59.730 に答える
1

onclick イベントの場合、これら 2 つのシナリオは本質的に同等です。「return」を使用する理由は、onclick ではなく、フォームの onsubmit イベントにより密接に関連しています。onsubmit で使用すると、関数が false を返すとフォームが送信されなくなります。

于 2012-11-20T10:45:10.233 に答える
0

番号 1 は、関数によって返された値を返しvalidatePage();ます。falseこれを使用して、キーの押下を中断したり (入力フィールドのに戻るonkeyup)、またはアンカー ( <a href="....) を JavaScript ボタンとして使用したりできます。番号 2 は単に関数を実行します。

于 2012-11-20T10:45:41.310 に答える