首先验证表单,然后执行 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 POST
- 执行ajax成功函数-jQUERY
- 未执行Ajax循环的Javascript之后的代码
- 如何使用get或post方法连接和执行ajax
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- 如何执行ajax响应返回的javascript函数
- 如何生成一个执行AJAX调用的函数
- Rails 4中不执行Ajax响应
- 通过 ajax 请求执行 ajax 请求
- 如何在执行 Ajax 请求大量数据库更新时实现进度条
- 从 Web Worker 执行 AJAX 请求是否可行
- 在页面加载时执行ajax调用时,ajaxStart不起作用
- 未执行Ajax隐藏表单提交验证
- 在不执行ajax请求的情况下,使用jQuery读取HTTP标头以检查404
- 按顺序执行ajax请求的动态编号
- Javascript未执行Ajax调用
- 在多次AJAX调用后暂停执行AJAX回调
- 如何执行Ajax GET请求以从rails获取数据并将其传递给javascript(谷歌地图)
- 禁用onclick函数,以便在执行ajax时停止调用相同的函数
- 执行 ajax 同步 POST 然后提交表单的正确方法