2013-10-04 3 views
1

Я использовал атрибут disabled для ввода текстовых полей, чтобы сделать их неотредактированными. Проблема в том, что я не могу изменить цвет шрифта поля disabled в IE.Изменить все атрибуты 'disabled' на атрибуты 'readonly' при загрузке страницы?

Так что я пытаюсь изменить все disabled полей в readonly полей на странице загрузки, используя следующий код:

$("input[type=text][disabled]").attr("readonly","readonly").removeAttr("disabled"); 

Независимо от того, где я ставлю выше код не работает. Но когда я запускаю его в консоли скрипта, он работает.

ОБНОВЛЕНИЕ:
Обнаружено причину. Я использую ASP.NET Ajax, который предоставляет pageLoad - в моем случае код внутри pageLoad отключил мои текстовые поля. Добавлен вышеуказанный код в конце события «pageLoad», и он отлично работает. Благодаря!

+4

ли вы пытаетесь wrapp его '' .ready() функцию? – Sergio

+1

* «Независимо от того, где я помещаю вышеуказанный код, он не работает» * Где вы пробовали? При условии, что * ниже * все элементы с этим атрибутом в разметке, которые должны работать. (Или используйте 'ready', но нет необходимости использовать' ready', если вы можете поместить тег скрипта под другие элементы в разметке.) –

+0

@Sergio: Да, я сделал его внутри 'ready'. – Saravana

ответ

4

Попробуйте

$(function() { /* your code */ }); 

это будет выполнять код после загрузки страницы.

1

Вы можете попробовать, что внутри событии загрузки,

$(document).ready(function() { 
    $("input[type=text]:disabled").attr("readonly","readonly").removeAttr("disabled"); 
}); 
+0

Если у вас есть jQuery, вы должны использовать его для привязки событий! – Bergi

+1

... но один из них можно кодировать лучше. Также, пожалуйста, объясните, какая разница и какой вариант выбрать в какой ситуации. – Bergi

+0

Да спасибо изменен ответ :) –

Смежные вопросы