根据我在上面的下拉框中选择的选项,它应该将文本框变灰,或者让用户输入它们。我正在使用以下内容:
document.getElementById(\'freq2\').disabled=true;
这不起作用。但是,我可以很好地使用以下内容,并且它成功消失了:
document.getElementById(\'freq2\').style.display = \'none\';
为什么我不能把文本框变灰,但我可以隐藏它们,改变它们的颜色等等?
根据我在上面的下拉框中选择的选项,它应该将文本框变灰,或者让用户输入它们。我正在使用以下内容:
document.getElementById(\'freq2\').disabled=true;
这不起作用。但是,我可以很好地使用以下内容,并且它成功消失了:
document.getElementById(\'freq2\').style.display = \'none\';
为什么我不能把文本框变灰,但我可以隐藏它们,改变它们的颜色等等?
您需要取消转义您的报价。
document.getElementById(\'freq2\').disabled=true;
需要是
document.getElementById('freq2').disabled=true;
否则 JavaScript 将无效,因此不会禁用它。
您可以将多个文本框包装在一个fieldset
<fieldset id="myfields" disabled="disabled">
<input type="text" />
<input type="text" />
</fieldset>
JavaScript:
document.getElementById("myfields").disabled = true;
CSS去除边框:
fieldset {
border: 0;
}
尝试其中之一:
document.getElementById(\'freq2\').setAttribute('disabled', 'disabled');
或者
document.getElementById(\'freq2\').setAttribute('disabled', true);
示例:http: //jsfiddle.net/javitube/wzzHC/