.ajaxform在验证submitHandler中没有工作?

时间:2012-09-12 05:34:50

标签: ajax jquery jquery-plugins

我使用jquery验证插件在提交之前验证表单 在submitHandler中,我使用ajax请求来发布带有ajax的表单 在我使用.ajax发送请求之前,但现在表单有图像而且很难 通过正常的ajax请求序列化文件元素,因此我使用了这个插件 http://www.malsup.com/jquery/form/

现在使用插件后,ajax请求无法正常工作,所有人都不知道为什么 这是正常的ajax调用的第一个例子

$(document).ready(function(){
    $("#categoryForm").validate({
    submitHandler: function() {
            $.ajax({
                type:'POST', 
                url: 'actions/add-category.php', 
                data: $("#categoryForm").serialize(), 
                success: function(response) {
                     $('#status').html(response);
                    }
                });

        return false;
    }
    });
});

和使用插件后的这个

$(document).ready(function(){
        $("#categoryForm").validate({
        submitHandler: function() {
                $('#categoryForm').ajaxForm(function() {
                alert('the form was successfully processed');
            });

            return false;
        }
        });
    });

第二个不起作用

1 个答案:

答案 0 :(得分:2)

尝试反转功能:

jQuery('#form_id').ajaxForm({
    beforeSubmit: function() {
        jQuery("#form_id").validate({
            rules: {
                first_name: "required",
                last_name: "required"
            },
            messages: {
                first_name: "Required",
                last_name: "Required"
            }
        });
        return jQuery('#form_id').valid();
    },
    success: function(resp) {
        jQuery('#resp').html(resp).fadeIn('fast');
    }
});

其中#resp是将接收您#form_id发布的文件生成的HTML的ID