Поскольку вы пометили свой вопрос как javascript
, вот мой совет для IE: включайте сценарий ie-only с HTML-комментариями, инициирующими ie, который добавляет класс ie-disabled
к каждому отключенному вводу. Если состояние входных данных может измениться после начальной загрузки страницы, добавьте на страницу временного наблюдателя, который правильно устанавливает класс.
input[disabled], input.ie-disabled
{
background-color:#FFFBF0;
color: #28B51D;
}
файл javascript, включенный с условным комментарием:
function checkDisabled() {
var inputs = document.getElementsByTagName('INPUT');
for(var i=0, l=inputs.length; i<l; i++) {
if(inputs[i].disabled) {
if(inputs[i].className.indexOf('ie-disabled')==-1)
inputs[i].className = inputs[i].className+' ie-disabled';
} else {
inputs[i].className = inputs[i].className.replace('ie-disabled', '');
}
}
}
setInterval(checkDisabled, 1000); // check every second
Вот тест (для IE). Обратите внимание, что атрибут color css игнорируется IE для отключенных входов. Если вам действительно нужен зеленый текст, используйте readonly
вместо disabled
.