我有一個在提交時驗證的表單,在表單內部調用一個函數,提交繼續,不等待函數完成。我該如何解決?完成函數在繼續之前執行
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){...'然後繼續驗證和潛在提交。 –