javascript:我想显示城市和州填写邮政编码时。我有地理位置工作,但现在我只想要城市和州显示邮政填充时在隐藏显示城市和状态,当邮编填充
这是我的HTML:
<label for="city">City</label>
<input size="20" placeholder="Town or City" name="city" id="city" type="text">
<br>
<label for="state">State</label>
<input size="10" placeholder="State/Province" name="state" id="state" type="text">
这是我的JavaScript:
zip.addEventListener("change", getGeo);
function getGeo(e){
// make an send an XmlHttpRequest
var x = new XMLHttpRequest();
x.open("GET","http://maps.googleapis.com/maps/api/geocode/json?address="+this.value,true);
x.send();
// set up a listener for the response
x.onreadystatechange=function(){
if (this.readyState==4 && this.status==200){
var c = JSON.parse(this.response).results[0].address_components[1].long_name;
//alert(c);
var s = JSON.parse(this.response).results[0].address_components[2].short_name;
//alert(s);
if (c) {
city.value = c;
}
if (s) {
state.value = s;
}
//document.getElementById("output").innerHTML = o;
var l = JSON.parse(this.response).results[0].geometry.location;
if (l.lat) {
lat.value = l.lat;
}
if (l.lng) {
lon.value = l.lng;
}
}
}
}
这一切都在这的jsfiddle http://jsfiddle.net/lakenney/gad7ntgk/
目前还不清楚你在问什么。从地理编码请求返回时,您是否想要显示city + state字段? –
为什么你json解析响应多次?将解析结果存储一次......效率更高 – charlietfl