問題を引き起こしているコードがいくつかあります。
これです:
onclick="return my_Check();"
そしてこれ:
onclick="my_Check();"
私の質問は、これは同じことではないかということです。
問題を引き起こしているコードがいくつかあります。
これです:
onclick="return my_Check();"
そしてこれ:
onclick="my_Check();"
私の質問は、これは同じことではないかということです。
いいえ、最初は関数の戻り値を返しますmy_Check()
。
2番目はしません。
これは、イベントがその戻り値に応答する可能性があることを意味します。一部のイベントは戻るときにキャンセルされるfalse
ため、ページの動作に影響を与える可能性があります。
いいえ、同じではありません。ブラウザは内部で「onclick」属性の文字列値を使用して関数を作成します。
var actualHandler = new Function( "event", attributeValue); // for IE, no "event"
したがって、return
キーワードを追加すると、ハンドラー関数は、呼び出されたときの作業が完了した後、ブラウザーに値を返します。これは、ハンドラーがイベントに応答してブラウザーが「ネイティブ」アクションを実行しないようにする場合に重要ですfalse
。ブラウザーに戻って何もしないように指示できます。
編集—引数の順序を逆にしましたが、修正されました
いいえ。
送信する前に、最初のものを実行する場合form
:submit
結果がの場合false
、フォームは送信されません
2番目のものでは-そうなります。(my_Check();
falseを返しても)
return
パスは、ハンドラーに戻るものをすべて渡しますmy_Check
。my_Check
を返す場合false
、イベントのデフォルトのアクションはキャンセルされます。これがないと、戻り値は破棄され、デフォルトのアクションが実行されます。