1
if ( $("#form").validate().form() == true ) {

    $('#form').submit( function() {
        var mail = $("#mail_content").val();
        $.ajax({  
            type: "POST",  
            url: "process.php",  
            data: "mail="+ mail,  
            success: function(){  
            $('.email').fadeOut(200);
            $('.notified').delay(200).fadeIn(200);
            }  
        });
        return false;
    });

    }

    else {}

私は思います

 if ( $("#form").validate().form() == true ) {

あるべきものではない

私のリソース:

http://docs.jquery.com/Plugins/Validation/Validator/form

送信 ajax 部分は機能しています。入力されたメールアドレスのみを検証したい

あなたの助けのためにmerci

編集:

忘れてた

私はこのコードを試しました

$("#form").validate({
     submitHandler: function(form) {
       $('#form').submit( function() {

        var mail = $("#mail_content").val();
        $.ajax({  
            type: "POST",  
            url: "process.php",  
            data: "mail="+ mail,  
            success: function(){  
                $('.email').fadeOut(200);
                $('.notified').delay(200).fadeIn(200);
            }  
        });
        return false;
    });
     }
    });

でもなぜか送信ボタンを2回押さなきゃいけない…??

私がここで何を意味するか見てください:

http://herenhoek.nl/test/

4

1 に答える 1

3

質問の 2 番目のコード例は、フォームの jQuery オブジェクトを再利用するというよくある間違いを除けば、ほぼ正しいものです。この場合submit、AJAX リクエストを使用してプロセスを処理しているため、イベントを再度トリガーする必要はありません。

プラグインのドキュメントの次のセクションを読んでください:再帰が多すぎる

正しい構文は次のとおりです。

$("#form").validate({
    submitHandler: function(form) {
        var mail = $("#mail_content").val();

        $.ajax({  
            type: "POST",  
            url: "process.php",  
            data: "mail="+ mail,  
            success: function() {  
                $('.email').fadeOut(200);
                $('.notified').delay(200).fadeIn(200);
            }  
        });
    }
});
于 2012-11-11T20:25:14.507 に答える