0

根据我在上面的下拉框中选择的选项,它应该将文本框变灰,或者让用户输入它们。我正在使用以下内容:

document.getElementById(\'freq2\').disabled=true;

这不起作用。但是,我可以很好地使用以下内容,并且它成功消失了:

document.getElementById(\'freq2\').style.display = \'none\';

为什么我不能把文本框变灰,但我可以隐藏它们,改变它们的颜色等等?

4

3 回答 3

1

您正在寻找该disabled属性(而不是禁用)。此外,无需逃避您的报价

document.getElementById('freq2').disable=true;

工作演示

于 2013-07-11T19:15:06.040 回答
1

您需要取消转义您的报价。

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;
}

JSFiddle

于 2013-07-11T19:22:20.987 回答
0

尝试其中之一:

document.getElementById(\'freq2\').setAttribute('disabled', 'disabled');

或者

document.getElementById(\'freq2\').setAttribute('disabled', true);

示例:http: //jsfiddle.net/javitube/wzzHC/

于 2013-07-11T19:20:10.717 回答