0

jQueryを使用してデータを投稿する次のコードを作成しました。正常に動作してreturn false;いますが、コードがないと動作しませんでした。丸 1 日検索した後、この return ステートメントを見つけました...

誰かが私に教えてくれませんreturn false;$.post?
私はjQueryの初心者であり、これをよりよく理解したいと思っています。

$("#formid").submit( function () {    
  $.post(
   'ajax.php',
    $(this).serialize(),
    function(data){                 
       $("#result").html(data);
       $("#result").fadeIn('slow');
    }
  );
  return false;   
}); 
4

4 に答える 4

2

here は AJAXのreturn false;$.post メソッドには使用されず#formid、AJAX リクエストをキャンセルできる form( ) 送信を防ぐために使用されます。

于 2012-07-25T05:09:58.817 に答える
2

を削除するreturn false;と、ブラウザーが (AJAX を使用せずに) フォームを送信し続けることがわかります。false を返すと、ブラウザはデフォルトのアクションを実行できなくなり、AJAX 呼び出しのみが発生します。

preventDefault()submit イベントに渡されたイベント オブジェクトを呼び出すと、同様の結果が得られます。

例えば:

$("#formid").submit( function (event) {    
      $.post(
       'ajax.php',
        $(this).serialize(),
        function(data){                 
           $("#result").html(data);
           $("#result").fadeIn('slow');
        }
      );
    event.preventDefault();   
});  
于 2012-07-25T05:10:19.223 に答える
0

return false実際には、フォーム送信であるデフォルトのアクションを妨げています。そのステートメントを書かないと、フォームが送信されます。

于 2012-07-25T05:11:12.043 に答える
0

Return false は、ユーザーが送信ボタンをクリックするたびにデフォルトのフォーム アクションが実行されないようにします。jQuery 部分のみが実行されます。そうしないと、フォームの送信時にページ全体がリロードされます。

これについては、jQuery API の.submit()ページで読むことができます。

次の段落があります。

フォームが送信されると、メッセージが警告されます。これは実際の送信の前に発生するため、イベント オブジェクトで .preventDefault() を呼び出すか、ハンドラーから false を返すことで、送信アクションをキャンセルできます。別の要素がクリックされたときにイベントを手動でトリガーできます。

于 2012-07-25T05:13:12.890 に答える