2010-03-02 95 views
1
編輯

我發展我的asp.net web表單應用程序。文本框設置這樣禁用文本框在IE8

<asp:TextBox ID="txt1" runat="server" Enabled="false" ></asp:TextBox> 

,這是對應的HTML標記

<input name="txt1" type="text" value="1.0" id="txt1" disabled="disabled" /> 

它是不可編輯高達了這一點。

我能在IE8(按F7)光標瀏覽,然後這個領域變成可編輯的,但文字是灰色的,因此給人一種錯誤的感覺,該字段爲可編輯的用戶。如果我將文本框標記爲只讀,這種情況不會發生,但我不想將其標記爲只讀字段。有關如何在插入符號瀏覽時使文本框處於禁用模式的任何建議。

EDIT1:我不是在尋找這將改變IE設置/註冊表的解決方案,正在尋找一個綱領性的解決方案,我的網站是一個面向公衆的網站

EDIT2:查看狀態的頁面和啓用對照

+0

爲什麼你不想只使用只讀方法解決問題? – adam0101 2010-03-02 20:59:08

+0

我們有一些現有的代碼,將其更改爲只讀將意味着我們將不得不改變它在其他地方也 – ram 2010-03-02 21:16:49

+0

我看不出有什麼影響的設置已經禁用的文本框爲只讀將有你需要做其他的變化。 – adam0101 2010-03-02 21:45:12

回答

0

我可以讓你用這個腳本快速入門:

<script> document.onkeyup = KeyCheck; 


function KeyCheck() { alert(document.getElementById("txt1").value); } </script> </script> 

將這個一路上的HTML的頂部。 現在您可以掌握按鍵了。 當插入符號模式,IE瀏覽器似乎忽略文本的JavaScript事件

+0

這是一個解決方案?你只是在'onkeyup'事件上顯示文本框的值。它如何防止我改變文本框的值? – ram 2010-03-02 19:25:40

+0

看到我的第二個答案。 我在第一個答案中給了你處理這種情況的提示。 感謝您的-ve標記! – 2010-03-03 14:49:55

0

好吧。我給你一個建議。 (感謝-1) 這是您正在尋找的HTML代碼。確保使用ASP代碼填充initialVal。

<script> 
document.onkeyup = KeyCheck;  
var initialVal="1.0" 

function KeyCheck() 
{ 
    if(document.getElementById("txt1").value != initialVal) { 
     document.getElementById("txt1").value = initialVal; 
     return false; 
    } 
} 
</script> 

<input name="txt1" type="text" value="1.0" id="txt1" disabled="disabled" />