我有一个在提交时调用的表单验证方法。它执行“get”以验证其中一个字段,如果该字段无效则返回 false:
$.get('validate.cfc',
{
method: 'validateUserID',
userID: $('#userID').val(),
returnformat: 'plain'
},
function(data){
if($.trim(data) == 0){
alert('Invalid userID!');
return false;
}
}
);
然后它继续执行一些更简单的验证步骤(没有 ajax 调用)。例如:
if(!isDate($('#endDate').val()) && $('#endDate').val() != ""){
alert("Please enter a valid end date");
return false;
}
问题是代码在get
执行时继续。因此,如果用户 ID 无效且结束日期不是日期,则首先显示“请输入有效的结束日期”消息,然后显示“用户 ID 无效!” 信息。如何让我的代码等到获取完成?
(我唯一能想到的就是在 get 之后在函数中的所有其余代码周围放置一个小的 setTimeOut ......这不是最优雅的解决方案。)