繁体   English   中英

首先验证表单然后执行ajax调用

[英]validate form first then do ajax call

我使用jquery验证插件来验证我的表单。 但仍有一些领域需要自定义验证。

奇怪的是。 提交时,如果确定则首先检查我的选择框验证,然后由于$ .validate(),所有字段都变为红色。 如果没有填写但是仍然继续进行ajax调用......为什么会这样?

我也使用这个插件: http//formvalidator.net/#configuration我已经尝试了回调但由于某种原因它仍然没有返回false并继续使用ajax。

$( "#registration-form" ).submit(function( event ) {
event.preventDefault();

    $.validate();

    //Check dropdown
    if(document.getElementById('foodassoonas').selectedIndex == 0)
    {
    $('#dateerrormsg').html('not ok');
    $("#foodassoonas").css({"border":"1px solid red"});
    return false;
    }


    $.post(jssitebaseUrl+'/ajaxFile.php',{'contactemail':contactemail,'action':'checkOrderEmailId'}, function(output){

        alert(output);
        if(output == 'already' && contactpassword !=""){
            $("#createUserError").addClass('errClass1 margin0');

            $("#createUserError").html('not ok');
            $("#createUserError").show();
            return false;
        }else if(output == 'gotopayment' || (output == 'already' && contactpassword =="")){
            document.checkoutform.submit();
        }
        return false;
    });


return false;
});

尝试这个

 $.validate({
        onError : function() {
      alert('Validation failed');
      return false;
    }
});

玩完之后我通过这样做得到了一些工作:

>>>> REMOVED (PLACED ON BOTTOM) event.preventDefault();
$( "#registration-form" ).submit(function( event ) {

var flag = $.validate(); 
if(!flag) { 

    //Check dropdown
    if(document.getElementById('foodassoonas').selectedIndex == 0)
    {
    $('#dateerrormsg').html('U heeft geen bezorgtijd aangegeven');
    $("#foodassoonas").css({"border":"1px solid red"});
    return false;
    }


var contactemail = $('#contactemail').val();
$.post(jssitebaseUrl+'/ajaxFile.php',{'contactemail':contactemail,'action':'checkOrderEmailId'}, function(output){

    alert(output);
    if(output == 'already' && contactpassword !=""){
        $("#createUserError").addClass('errClass1 margin0');

        $("#createUserError").html('not ok');
        $("#createUserError").show();
        return false;
    }else if(output == 'gotopayment' || (output == 'already' && contactpassword =="")){
        document.checkoutform.submit();
    }
    return false;
});

return flag; 
}



>>>> REMOVED return false;
>>>> ADDED event.preventDefault();
});

只是现在ajax没有被解雇:(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM