我正在使用Google地址表单自动填充功能。
我想要实现的是,当选择地址并填写字段时,要从那些字段中删除readonly属性(我在开始的输入字段上添加了readonly),这些字段未填充(例如:邮政编码 - 它并不总是填充)。
所以我在循环中添加了简单的代码,但奇怪的是,如果我测试(val =='')它将无法正常工作,所有字段保持只读,但是如果我测试(val!= '')已填充的字段已解锁且空闲仍然只读,这与我的需要正好相反。这是怎么回事?
function fillInAddress() {
var place = autocomplete.getPlace();
for (var component in componentForm) {
document.getElementById(component).value = '';
document.getElementById(component).disabled = false;
}
var placeid = place.id;
document.getElementById('location_id').value = placeid;
document.getElementById('location_id').disabled = false;
for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i][componentForm[addressType]];
document.getElementById(addressType).value = val;
//My code
if(val != ''){
document.getElementById(addressType).removeAttribute("readonly");
}
}
}
}