一些背景
因此,我正在完成一些对数据进行自动插值的 Web 应用程序的增强。用户填写了一些文本框,它们之间的其他文本框具有自动计算的值。接收自动计算值的文本框必须是只读的以防止用户更改,但不能禁用,否则它们不会在回发时提交。每个文本框旁边还有一个复选框,因此用户可以有意识地检查它以使该字段可写,从而允许它们覆盖插值。
浏览器:IE 7(不确定在其他浏览器中的表现如何)
问题
使用 JavaScript设置文本框的readOnly
属性时,文本框中的值与表单一起提交:我可以在服务器端 (ASP.NET) 上看到它,myTextBox.Text
它位于Request.Form("myTextBox")
.
如果我ReadOnly="true"
在我的<asp:TextBox />
元素上设置并且不使用 JavaScript 方法,则文本框中的值不可用myTextBox.Text
(我假设它从未进入ViewState
),但它正在与表单一起提交:Request.Form("myTextBox")
有一个值。
我的问题
到底他妈发生了什么?这是设计使然吗?这是浏览器的问题吗?我发现错误了吗?令人讨厌的是,我必须有一些额外的 JavaScript 才能在页面加载时禁用文本框的可写性,以使我的应用程序正常工作。
谢谢!