1

一起使用 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."
        }
    });
    });
});
4

1 回答 1

0

您应该为验证器属性提供回调submitHandler,并启动 AJAX 请求。

这是一个为submitHandler提供回调并启动表单的 AJAX 提交的示例:

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

.ajaxSubmit不是 jQuery 的核心功能。它由jQuery 表单插件提供。

您可以在jQuery 验证器插件手册中阅读有关submitHandler和其他选项.validator对象可能会收到的信息。

于 2012-06-14T10:57:07.587 回答