表单校验框如何回调 大家好,我有一个问题请教大家,在对表单进行js校验的过程中,html表单中存在多个元素需要ajax校验,在点击提交后,如何才能等到这些远程校验返回结果后,决定是否提交表单?我想到了是依次回调的做法,请问大家有什么好的做法,或者能提供校验框架里面的实现思路。谢谢!JavaScriptAjax校验 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 表单的提交按钮不要设置成submit,就一般的button或者图片,验证绑定在按钮的click事件上设置一个对象,有多个属性,记录标示这些请求是否合格,默认都为false,然后就简单了var result = { r1 : false, r2 : false, r3 : false, r4 : false}//有多少写多少btn.click(function(){ $.ajax(url1,function(data){ data.result==1 && result.r1 = true; submitForm(); }); $.ajax(url2,function(data){ data.result==1 && result.r2 = true; submitForm(); }); $.ajax(url3,function(data){ data.result==1 && result.r3 = true; submitForm(); }); $.ajax(url4,function(data){ data.result==1 && result.r4 = true; submitForm(); });});function submitForm(){ var canSubmit = true; for(var p in result){ result.hasOwnProperty(p) && !reslut[p] && (canSubmit = false); } canSubmit && $('#form').submit();} 是的,问题就是怎么处理具有多个ajax验证,存在延迟的情况。 额,就这个问题,我也做过啊,有必要这么多ajax吗?把所有要验证的数据一起提交不就得了吗$.post(url, { name: name,... }, function (result) { if (!result.Success) { $.messager.alert('提示', result.Message); return false; } else { $.messager.alert('提示', result.Message); }, 'json'); 是的,问题就是怎么处理具有多个ajax验证,存在延迟的情况。如果有多个ajax要到服务端请求验证的话,这要看你具体验证的需求,是否有顺序关系,如果没有顺序关系,你就用异步的, 如果有顺序关系就用同步, 当都验证完后做个标识 ,是用来当用户点击按钮的时候识别这个有没有验证过。 你这个也是办法,我已经把手写校验代码,改为validate框架校验了,这最靠谱,谢谢了! 你这个也是办法,我已经把手写校验代码,改为validate框架校验了,这最靠谱,谢谢了!不谢,我觉得吧,怎么写简单怎么写呗...或者怎么写拿手怎么写... 求文字滚动JS代码 textarea每输出一个变量就换行输出第二个变量的值 JS高手进,救命贴啊 jquery 更改radio的CSS样式~~~ 我要设置一个DIV里面所有的P段落的字体(P元素没有ID和Class), 请问该怎么写? js使用createElement()的问题及相关 新手求助!!sos! 在.net(mvc)中,使用cookie记住密码问题 我要类似 http://jqueryui.com/tabs/#sortable 他时标签 能调整顺序 但也能添加删除标签 修改 请教相对路径及绝对路径~ 求用jquery解决思路! 最近开发 一键截图 有几个小问题200分的节奏
r1 : false,
r2 : false,
r3 : false,
r4 : false
}//有多少写多少
btn.click(function(){
$.ajax(url1,function(data){
data.result==1 && result.r1 = true;
submitForm();
});
$.ajax(url2,function(data){
data.result==1 && result.r2 = true;
submitForm();
});
$.ajax(url3,function(data){
data.result==1 && result.r3 = true;
submitForm();
});
$.ajax(url4,function(data){
data.result==1 && result.r4 = true;
submitForm();
});
});
function submitForm(){
var canSubmit = true;
for(var p in result){
result.hasOwnProperty(p) && !reslut[p] && (canSubmit = false);
}
canSubmit && $('#form').submit();
}
if (!result.Success) {
$.messager.alert('提示', result.Message);
return false;
}
else {
$.messager.alert('提示', result.Message);
}, 'json');
这要看你具体验证的需求,是否有顺序关系,如果没有顺序关系,你就用异步的, 如果有顺序关系就用同步, 当都验证完后做个标识 ,是用来当用户点击按钮的时候识别这个有没有验证过。