2013-10-04 78 views
1

我一直在使用輸入文本框上的disabled屬性使它們不可編輯。問題是我無法更改IE中disabled字段的字體顏色。在頁面加載時將所有「禁用」屬性更改爲「只讀」屬性?

所以我想用下面的代碼更改所有disabled領域網頁加載readonly領域:

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

無論身在何處,我把上面的代碼中這是行不通的。但是當我在腳本控制檯中運行它時,它可以工作。

更新:
找到原因。我正在使用提供pageLoad的ASP.NET Ajax - 在我的情況下,pageLoad中的代碼禁用了我的文本框。 'pageLoad'事件結束時添加了上面的代碼,它完美地工作。謝謝!

+4

你有沒有試着用'。就緒()'函數wrapp呢? – Sergio

+1

*「無論我把上面的代碼放在哪裏都不起作用」*你在哪裏試過?如果它在*下面*標記中具有該屬性的所有元素都應該有效。 (或者使用'ready',但是如果你可以把腳本標記放在標記中的其他元素的下面,就不需要''ready''。 –

+0

@Sergio:是的,我確實把它包裝在'ready'中。 – Saravana

回答

4

嘗試

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

此頁面加載後會執行代碼。

1

你可以嘗試onload事件裏面,

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

如果你有jQuery可用,你應該使用它來綁定事件! – Bergi

+1

...但其中一個可以編碼得更好。另外,請解釋在什麼情況下有什麼區別以及選擇什麼選項。 – Bergi

+0

是的,謝謝修改答案:) –

相關問題