ホームページ  >  記事  >  ウェブフロントエンド  >  js_jquery での return false (ブロック) の使用法

js_jquery での return false (ブロック) の使用法

WBOY
WBOYオリジナル
2016-05-16 17:25:451224ブラウズ

return false はフォームの送信を妨げます。今日、私はこの問題に悩まされてきました。インターネット上で多くの情報を見つけました。基本的に、onsubmit=return false については次の点に注意してください。 return の戻り値 問題は、関数 return に戻り値があると、次のステートメントは実行されず、関数が呼び出された場所に直接ジャンプすることです。次の PHP 関数コードでは、最初の if 条件が満たされると、関数の値はブール値の false を返します。return ステートメントに到達する限り、関数の値を返して関数から抜け出すことができます。コードのその行を実行すると、実行制御はプログラムを呼び出したコードにすぐに戻ります。


function chkinput(form)
{
if(form.title.value=="")
{
alert("記事のタイトルを入力してください!");
form.title.select();
return false ; //注意 return(false); のように書くことはできません。
}

if(form.content.value=="")
{
alert("記事のテキストは空にすることはできません@!! ");
form.content.select();
return false;
}

return true;
}


2.form onsubmit 属性のトリガーの問題、onsubmit イベントはいつトリガーされますか? onsubmit イベントは、フォームの確認ボタンがクリックされたときに発生します。トリガーされない理由は通常次のとおりです。

A. onsubmit 属性のトリガー時間は、input:submit などのボタンでフォームが送信されたときです。それ以外の場合はトリガーされません。通常のinput:buttonを使用する場合は、onclick属性にJavaScript関数を指定し、onsubmit属性の代わりにこの関数内でフォームのsubmit()関数を実行します。

B. まずコードの一部を確認します:


コードをコピーします コードは次のとおりです。 🎜>
="submit"value=" submit">
<スクリプト言語="JavaScript">



送信ボタンをクリックすると、フォームは送信されません。変更すべき箇所が 1 つあるため (赤文字)
onsubmit 属性は次のようであることがわかります。
HTML オブジェクト メソッド名、その値 (文字列) はメソッド本体であり、デフォルトで true を返します。
Java と同じように、メソッド本体には任意の数のステートメントを記述できます。組み込み関数とカスタム関数を含みます。

ここでは submitTest() が false を返しますが、この関数は結果を処理せずに実行しただけです。

そして、onsubmit="return submitTest() は、期待される効果を達成するために戻り値を使用します。

3. イベント処理関数が false を返す問題は、ほとんどの場合、イベント ハンドラーです。

たとえば、デフォルトでは、
要素の href 属性で指定されたページにジャンプします。ターミネーター、Return True はエグゼキューターと同等です。通常、js の return false 関数は、リンクをクリックすると、
の onclick 時間をトリガーします。デフォルトのイベントがトリガーされ、ページジャンプが実行されます。そのため、
オブジェクトのデフォルトのアクションをキャンセルしたい場合は、 false を返すことができます。



コードをコピーします

送信のアクションが含まれています。フォームは false を返します。


submitAction を実行した後、送信ボタンはデフォルトのイベントを実行し続け、フォームは再度送信されます。これが多くのエラーの原因となる可能性があります。
実際、return false の意味は、イベントが最上位要素に伝播し続けるのを防ぐことではなく、ブラウザーがデフォルトでイベントを処理しないようにすることです。これを試すことができます:
まず、すべての JS スクリプトをコメントアウトし、IE ブラウザーで画像をドラッグしてみます。マウスが禁止された操作スタイルになることがわかります。画像はドラッグが禁止されており、ブラウジング中です。デフォルトコントローラーによってmousemoveイベントに対して提供される動作。

この動作を削除するには false を返します。そうでない場合は、説明した中断イベントが発生し、実行が継続されます。
さらに、false を返す同等のステートメントは次のとおりです:

window.event.returnValue = false,
return false をこのステートメントに置き換えて検証できます。
最後に、この方法は IE ブラウザにのみ適用できます。

デフォルトのアクションをキャンセルするには、js の return false 関数が一般的に使用されます。たとえば、リンクをクリックすると、
onclick 時間 (指定した場合) がトリガーされるだけでなく、ページ ジャンプを実行するデフォルト イベントもトリガーされます。したがって、
オブジェクトのデフォルトのアクションをキャンセルしたい場合は、false を返すことができます。 return false が使用される機会は数多くあります:
コードをコピー コードは次のとおりです:

....
dddd
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。