添加和删​​除readonly属性

时间:2014-05-14 21:14:28

标签: javascript

我正在使用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");
              }
            }
        }
    }

0 个答案:

没有答案