我只想制作一个简单的JavaScript函数来验证地址(来自用户的输入)。我已经用谷歌搜索解决方案。我正在使用Google Map API Geocoder。到目前为止,我的程序所能做的就是在地址有效或无效时发出警报消息。 但是,如果地址有效,我希望函数返回true,否则返回false,以便可以将该布尔值分配给另一个变量。
下面是我的功能。 validateAddress。您可以看到该函数具有警报消息,以告知用户该地址是否有效,并且还返回true或false。
我已经仔细测试过。问题在于该函数始终返回false,但是警报消息始终正确。我的意思是它会正确警告地址是否有效,但是该功能始终返回false。 谁能帮我。我是新来的。预先感谢
//this function validate the address
function validateAddress(addressID)
{
// //TODO - use google api
var addr = document.getElementById(addressID);
this.returnValue=false;
// Get geocoder instance
var geocoder =new google.maps.Geocoder();
// Geocode the address
geocoder.geocode({
'address': addr.value
}, function(results, status) {
console.log("this function is executed");
if (status === google.maps.GeocoderStatus.OK && results.length > 0)
{
// set it to the correct, formatted address if it's valid
addr.value = results[0].formatted_address;
this.returnValue= true;
alert(addr.value+ " address valid");
// show an error if it's not
}
else
{
this.returnValue= false;
alert(addr.value+ " address not valid");
}
});
console.log("After: "+this.returnValue);
return this.returnValue;
}