2011-08-15 7 views
3
<button onclick="alert('Hello'); return false;">Hello</button> 

返品虚偽部分とは何ですか?また、それがあれば真を返すものは何ですか?このインラインイベントハンドラの後にfalseが返され、trueが返されるのはなぜですか?

+0

ボタンタイプを定義することにより、リターン偽が何 – Grigor

+0

@Grigorを変更しないことを回避することができます

、はい、それはなりますボタンはIE以外のブラウザでフォーム送信ボタンとして機能します。 –

+0

私はそれが可能であることを知っていますが、私が言ったように、この場合はフォームにないので、何も変更されません。 – Grigor

答えて

5

default button typesubmitなので、<button><button type="submit">(IEを除く)と同じです。 return falseはデフォルトのボタンアクションを停止し、フォームの送信が停止するようにします。ボタンはそれなしので、フォーム内にある場合は、この場合には、明示的に

<button type="button" onclick="alert('Hello');">Hello</button> 
+0

これは決して知らなかった。情報をありがとう。 – 0x499602D2

7

return falseは、onclickイベントのデフォルト動作を無視します。ユーザーは、彼らがポップアップを取得したいが、実際にリンク先を行かないリンクをクリックしたときに

<a href="http://stackoverflow.com" onclick="alert('Hello'); return false">Link<a> 

:だから、たとえば、もしあなたがリンクを持っていました。

+0

何もしないとにかく'return false'は実際にはsubmitボタンやresetボタンでのみ意味があります。 – nfechner

+0

@nfechnerやリンク、またはonclickのデフォルトの動作を持つもの。 –

+0

うわー、私はevent.preventDefault()と思った。うまくいくでしょう。 – 0x499602D2

0

状況によって異なります。

たとえば、送信ボタンでtrue | falseを指定すると、フォームの検証に使用できるフォームが送信されるかどうか、つまり検証が失敗した場合はfalseを返し、フォームが送信されないようにします。

多くの場合、私の知る限りあなたのコード例のボタンはretirn値を何もしません。

+0

@ MikeSamuelの答えを見てください。 – 0x499602D2

関連する問題