-1

我正在为我的表单使用验证插件,但是在标准验证之后,我想添加我自己的方法,其中一个是 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();
});
4

1 回答 1

0

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

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

}
于 2013-11-01T20:02:09.690 回答