2013-07-11 60 views
0

根據我在上面的下拉框中選擇的選項,它應該使文本框變灰,或讓用戶輸入它們。我正在使用以下內容:無法使用JavaScript禁用文本框

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

這不起作用。但是,我可以使用下面的蠻好的,它成功地消失了:

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

爲什麼我不能灰色的文本框,但我可以隱藏起來,並改變它們的顏色,等等?

+3

該屬性是'禁用',而不是'禁用' – Ian

+0

對不起,這是我有。它不工作。將在上面編輯。任何其他提示? – user2537383

+0

這是在這裏工作:http://jsfiddle.net/6A8Zd/你爲什麼逃避報價?這些陳述是另一個字符串的一部分嗎 – cfs

回答

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

+0

我可以批量禁用它們,謝謝。它確實在它周圍創造了一些醜陋的邊框,但是與我的格式相混淆。有小費嗎? – user2537383

+0

@ user2537383您可以使用我在問題中添加的CSS隱藏它。如果它幫助你請注意,並標記爲答案。謝謝 – Scott

+0

我絕對會標記你的。感謝所有的幫助。最後一件事(希望)。我怎樣才能使框默認啓用,而不是禁用? – user2537383

1

您正在尋找disabled屬性(而不是禁用)。此外,沒有必要逃避你的報價

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

Working Demo

+0

對不起,這是我的。它不工作。將在上面編輯。任何其他提示? – user2537383

0

嘗試的theese之一:

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

或者

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

樣品:http://jsfiddle.net/javitube/wzzHC/