【问题标题】:choosing order of validation methods on submit在提交时选择验证方法的顺序
【发布时间】:2013-11-01 19:50:40
【问题描述】:

我正在为我的表单使用验证插件,但在标准验证之后,我想添加自己的方法,其中一个是 Ajax 函数,用于检查电子邮件是否已存在。

两者都有效,但如果我例如输入一封电子邮件,它会执行 Ajax 方法,我想在其中放置重定向。

问题在于,即使并非所有字段都已填写,它也总是会重定向。它必须先检查 al 标准验证,然后如果一切正常,则执行 ajax,然后提交我该怎么做?

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

//vars
var contactemail = $('#contactemail').val();
var contactpassword = $('#contactpassword').val();

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

//If User create - check if user exists
if($('#contactemail').length && $('#contactemail').val().length && $('#contactpassword').length && $('#contactpassword').val().length)
{
    //Check if can create user
    $.post(jssitebaseUrl+'/ajaxFile.php',{'contactemail':contactemail,'action':'checkOrderEmailId'}, function(output){
        //alert(output);
        if(output == 'UserExist' && contactpassword !=""){
            $("#errors").show();
            $('#errors').html('<p class="i">Can not create account</p>');
            $('html, body').animate({scrollTop:0}, 'slow');
            return false;
        }
        else if(output == 'CanCreateAccount' || (output == 'UserExist' && contactpassword =="")){
            alert("Maak een guest order aan")

//redirect...
            document.checkoutform.submit();
        }
    });
}
event.preventDefault();
});

【问题讨论】:

  • 使用onSuccess回调来提交你的ajax

标签: javascript jquery ajax validation


【解决方案1】:

在发布前尝试检查表单是否有效:

if ( $("#formId").valid() ) {
  // ajax call

}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-04-02
  • 2014-03-21
  • 2023-03-22
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多