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 部分正在工作,我只想验证输入的电子邮件地址

谢谢你的帮助

编辑:

我忘了

我试过这段代码

$("#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;
    });
     }
    });

但由于某种原因,我必须点击两次提交按钮......??

明白我的意思:

http://herenhoek.nl/test/

4

1 回答 1

3

您问题中的第二个代码示例几乎是正确的,除了重用表单的 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 回答