表单验证邮件jquery插件

时间:2012-11-11 20:15:37

标签: jquery forms validation email

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;
    });
     }
    });

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

看看我的意思:

http://herenhoek.nl/test/

1 个答案:

答案 0 :(得分:3)

你问题中的第二个代码示例几乎是正确的,除了重用表单的jQuery对象的常见错误。在这种情况下,您不需要再次触发submit事件,因为您正在使用AJAX请求来处理该过程。

阅读插件文档的以下部分:Too much recursion

正确的语法是:

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