[英]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.