禁用的文本框在IE8中可编辑

时间:2010-03-02 18:55:50

标签: asp.net textbox internet-explorer-8

我正在使用asp.net网络表单开发我的应用程序。文本框设置如下

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

这是相应的HTML标记

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

到目前为止,这是不可编辑的。

我在IE8中启用Caret浏览(按F7键)然后该字段变得可编辑,尽管文本显示为灰色,因此给用户带来了错误的感觉,即该字段是可编辑的。如果我将文本框标记为只读,则不会发生这种情况,但我不想将其标记为只读字段。关于如何在Caret浏览中将文本框置于禁用模式的任何建议。

Edit1:我不是在寻找一个可以改变IE设置/注册表的解决方案,我正在寻找一个程序化解决方案,因为我的网站是面向公众的网站

Edit2:为页面和控件启用了视图状态

2 个答案:

答案 0 :(得分:0)

我可以快速开始使用这个脚本:

<script> document.onkeyup = KeyCheck; 


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

将这一直放在html之上。 现在你掌握了按键。 在插入符号模式下,IE似乎忽略了文本的javascript事件

答案 1 :(得分: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" />