鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ form表單驗證如何在驗證完之后ajax提交數(shù)據(jù)

form表單驗證如何在驗證完之后ajax提交數(shù)據(jù)

function addUser() {
    let data={}
    $.each($("#addUser").serializeArray(),function () {
        data[this.name]=this.value;
    })
    let userName=$("input[name='userName']").val();
    let password=$("input[name='password']").val();
    let password2=$("input[name='password2']").val();
    let mobile=$("input[name='mobile']").val();
    let remarks=$("input[name='remarks']").val();
    let mobileReg=/^1[3|4|5|8][0-9]\d{4,8}$/i;
    if(userName.length==0){
        let formAlert=$("input[name='userName']").next(".form-alert");
        formAlert.show();
        formAlert.html("用戶名不可以為空");
    }
    if(password.length==0){
        let formAlert=$("input[name='password']").next(".form-alert");
        formAlert.show();
        formAlert.html("密碼不可以為空");
    }
    if(password2.length==0){
        let formAlert=$("input[name='password2']").next(".form-alert");
        formAlert.show();
        formAlert.html("請再次輸入密碼");
    }else if(password2!==password){
        let formAlert=$("input[name='password2']").next(".form-alert");
        formAlert.show();
        formAlert.html("兩次密碼輸入不一致");
    }
    if(remarks.length==0){
        let formAlert=$("input[name='remarks']").next(".form-alert");
        formAlert.show();
        formAlert.html("備注信息不可以為空");
    }
    if(mobile.length==0){
        let formAlert=$("input[name='mobile']").next(".form-alert");
        formAlert.show();
        formAlert.html("手機(jī)號不可以為空");
    }else if(!mobileReg.test(mobile)){
        let formAlert=$("input[name='mobile']").next(".form-alert");
        formAlert.show();
        formAlert.html("手機(jī)號格式不正確");
    }
    $.ajax({
        type : "POST",
        url : "/api/user/add",
        data :data,
        success : function(result) {
            $(".alert").show();
            if(result.msg=='注冊成功'){
                $(".alert").addClass('alert-success').removeClass('alert-danger');
            }
            $(".alert").text(result.msg);
            setTimeout(function () {
                $(".alert").hide();
            },3000)
            console.log(result)
        },
        error:function (result) {
            $(".alert").show();
            $(".alert").text(result.msg);
            setTimeout(function () {
                $(".alert").hide();
            },3000)
        }
    });
}

如上代碼,是我寫的表單驗證,如何保證在驗證都對了之后再跳轉(zhuǎn)到ajax,現(xiàn)在是直接就會跳ajax

回答
編輯回答
枕邊人

ajax()不可以放在一個if語句中中嗎,直接寫肯定是頁面刷新就執(zhí)行啊。

2018年6月28日 07:09
編輯回答
孤酒

就是樓上說的,在驗證不對的地方直接return

2017年9月30日 04:13
編輯回答
只愛你

驗證不通過的地方return一下

2018年6月3日 06:14