Javascript 当存在ajax调用时,jquery验证不起作用

Javascript 当存在ajax调用时,jquery验证不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个js代码,它使用jquery验证来验证表单。在这之后,它将调用ajax $('.form').validate({ rules: { ---- } }); $('#submit').click(function() { $.ajax(url,{ data:data, success:onSuccess, error:onError, type:POST }); re

我有一个js代码,它使用jquery验证来验证表单。在这之后,它将调用ajax

$('.form').validate({
    rules: {
        ---- 
    }
});
$('#submit').click(function() {

    $.ajax(url,{
        data:data,
        success:onSuccess,
        error:onError,
        type:POST
    });
    return FALSE;
});
onSuccess和onError是简单的函数。 url是预定义的


但是使用这段代码,它不会进入验证阶段,也不会直接调用ajax,不管是什么情况

您不应绑定
单击提交按钮上的事件。您应该将函数放在JQuery验证的
submitHandler
选项上。像这样

 $('.form').validate({
    rules: {
    ---- 
    },
    submitHandler: function(form){
        //your code here..
    }
});

以下是更好理解的方法。

您不应该绑定
单击提交按钮上的事件。您应该将函数放在JQuery验证的
submitHandler
选项上。像这样

 $('.form').validate({
    rules: {
    ---- 
    },
    submitHandler: function(form){
        //your code here..
    }
});
以下是更好理解的方法。

试试以下方法:

$(".form").submit(function(e) {
    e.preventDefault();
}).validate({
    rules: {...},
    submitHandler: function(form) { 
        alert("Do some stuff...");
        $.ajax(url,{
           data:data,
           success:onSuccess,
           error:onError,
           type:POST
        });
        return false;  
    }
});
阅读试试这个:

$(".form").submit(function(e) {
    e.preventDefault();
}).validate({
    rules: {...},
    submitHandler: function(form) { 
        alert("Do some stuff...");
        $.ajax(url,{
           data:data,
           success:onSuccess,
           error:onError,
           type:POST
        });
        return false;  
    }
});

阅读

使用提交处理程序处理自定义提交逻辑

$('.form').validate({
    rules: {

    },
    submitHandler: function() {
        //your ajax save
        $.ajax(url, {
            data:data,
            success:onSuccess,
            error:onError,
            type:POST
        });
        return false;
    }
});
如果要使用自定义提交逻辑,请检查表单是否有效,如

$('#submit').click(function() {
    if(!$('.form').valid()){
        return false;
    }

    $.ajax(url,{
        data:data,
        success:onSuccess,
        error:onError,
        type:POST
    });
    return false;
});

使用提交处理程序处理自定义提交逻辑

$('.form').validate({
    rules: {

    },
    submitHandler: function() {
        //your ajax save
        $.ajax(url, {
            data:data,
            success:onSuccess,
            error:onError,
            type:POST
        });
        return false;
    }
});
如果要使用自定义提交逻辑,请检查表单是否有效,如

$('#submit').click(function() {
    if(!$('.form').valid()){
        return false;
    }

    $.ajax(url,{
        data:data,
        success:onSuccess,
        error:onError,
        type:POST
    });
    return false;
});

重新检查表单类,以便更好地为表单使用id

 $(".form").validate({
验证后,最好使用submitHandler函数,该函数将调用ajax,如:

 submitHandler: function(form) {
                    form.submit();
                }

重新检查表单类,以便更好地为表单使用id

 $(".form").validate({
验证后,最好使用submitHandler函数,该函数将调用ajax,如:

 submitHandler: function(form) {
                    form.submit();
                }

如果这对你有帮助,你介意接受这个答案吗??干杯如果这对你有帮助,你介意接受这个答案吗??干杯