$(function() {
$("#submit").click(function() {
for (var i=1; i<=14; i++)
{
setID(i);
checkField(i);
}
if ($('#pass_fail').val() != "fail")
{
//do something
}
当我点击注册表单的提交按钮时,会发生以下情况:
期望的执行顺序:
setID(1);
checkField(1); //等待此操作完成
setID(2);
checkField(2);
setId(3);
checkField(3);
....
if 语句
实际的执行顺序:
循环从 i=1 到 i=14
if 语句
checkField(i) 的执行顺序随机
问题:$('#pass_fail').val() 的默认值为 'pass'。但是通过循环 checkField(i) 可能会将其更改为 'fail'。但由于实际上 if 语句在 checkField(i) 之前执行,因此 $('#pass_fail') 的值始终为 'pass',并且 'do something' 总是被执行。
如何等待 checkField(i) 执行完毕后再进入下一次循环?谢谢!
checkField()
是执行服务器请求吗?为什么不一次性获取所有字段并同时检查它们呢? - Ja͢ck