我有一个在提交时验证的表单,在表单内部调用一个函数,提交继续,不等待函数完成。我该如何解决?完成函数在继续之前执行
var clientaddress=false;
function checkaddress(callback){
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, function(results, status) {
if (status != google.maps.GeocoderStatus.OK) {
clientaddress=false;
callback(false);
}
else if (status == google.maps.GeocoderStatus.OK) {
clientaddress=true;
callback(false);
}
}
jQuery(document).ready(function(){
jQuery("#submitOrder").submit(function(){
checkaddress(function(result) {
if (!result) {
jAlert("Please enter a valid address!");
jQuery("#address").focus();
isValidation = 0;
}
});
//other validation code that gets executed without waiting for checkaddress()
//submit page
})
我试图做一个函数调用地址检查器和验证函数,但他们仍然不会彼此等待。
我该如何解决这个问题?
checkAddress的结果是'异步'(这意味着它可以在将来随时返回,因此不会阻止其他代码继续进行),因此您必须从'function(results,st atus){...'然后继续验证和潜在提交。 –