使用jquery validate和$ .ajax的正确方法是什么?

时间:2012-06-14 10:47:54

标签: jquery ajax

一起使用jquery validate和$ .ajax的正确方法是什么?一旦表单通过验证,我试图通过Ajax保存数据:

jQuery(document).ready(function() {
    $('#np-submit').click(function() {

        if($("#newsletter-subscription").validate()) {

            var name = $("input#fullname").val();
            var email = $("input#email").val();
            var interest = $("select#interest").val();
            var dataString = 'name=' + name + '&email=' + email + '&interest=' + interest;
            //alert (dataString);return false;
            $.ajax({
                type: "POST",
                url: "../save_address.php",
                data: dataString,
                success: function() {
                    alert("Contact Form Submitted!");
                }
            });
        });

    $("#newsletter-subscription").validate({
        rules: {
            fullname: "required",
            email: {
                required: true,
                email: true,
            },
            interest: "required"
        },
        messages: {
            fullname: "Please enter a your first name.",
            email: "Please enter a valid email address.",
            interest: "Please select your area of interest."
        }
    });
    });
});

1 个答案:

答案 0 :(得分:0)

您应该提供对验证程序submitHandler属性的回调,并启动AJAX请求。

以下是向submitHandler提供回调并启动表单的AJAX提交的示例:

$.validator.setDefaults({   
    submitHandler: function(form) {
        $(form).ajaxSubmit(); 
    }
});

.ajaxSubmit不是jQuery的核心功能。它由jQuery form plugin提供。

您可以阅读submitHandler以及其他.validator个选项可能会在jQuery validator plugin manual处收到。