Javascript 添加和删除只读属性

Javascript 添加和删除只读属性,javascript,Javascript,我正在使用谷歌地址表自动完成 我试图实现的是,当地址被选中并且字段被填充时,从那些字段中删除只读属性。我在输入字段中添加了只读属性,开始时这些字段没有被填充。例如:邮政编码-它并不总是被填充 所以我在循环中添加了简单的代码,但奇怪的是,如果我测试val==所有字段都保持只读,但如果我测试val!=填充字段被解锁,空字段保持只读,这与我需要的正好相反。这里发生了什么事 function fillInAddress() { var place = autocomplete.getP

我正在使用谷歌地址表自动完成

我试图实现的是,当地址被选中并且字段被填充时,从那些字段中删除只读属性。我在输入字段中添加了只读属性,开始时这些字段没有被填充。例如:邮政编码-它并不总是被填充

所以我在循环中添加了简单的代码,但奇怪的是,如果我测试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");
              }
            }
        }
    }

为什么不使用.readonly=true\u或\u false?同样,如果我尝试解锁填充字段,它会起作用,但我尝试解锁空字段,它不起作用