我有两个单选按钮,在页面加载时使用 javascript 禁用它们。RadioButton1
默认情况下处于选中状态。当我单击按钮进行回发时,RadioButton1
不再检查。
有人知道为什么吗?
这是我的代码示例。后面的代码是空的。
<asp:RadioButton ID="RadioButton1" runat="server" GroupName="group" Checked="true"/>
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="group" />
<asp:Button ID="Button1" runat="server" Text="Button"></asp:Button>
<script type="text/javascript">
window.onload = function () {
var RadioButton1 = document.getElementById('<%= RadioButton1.ClientID %>');
var RadioButton2 = document.getElementById('<%= RadioButton2.ClientID %>');
RadioButton1.disabled = true;
RadioButton2.disabled = true;
};
</script>
这是 HTML 的行为,而不是 ASP.NET。一旦您将输入元素标记为禁用,它就不再在请求中发布。对于文本字段,可以通过使用“只读”代替“禁用”来避免这种情况,但我认为它不适用于复选框或单选按钮。如果您仍想发布该值,则必须将其发送到与单选按钮相关的隐藏字段中,并在服务器上手动处理它。
Edit:
Here http://www.w3.org/TR/html4/interact/forms.html#h-17.12您可以阅读有关禁用和只读元素以及表单提交的信息:
禁用控制:
禁用控制无法成功。
只读控制:
只读元素可能会成功。
表格提交:
成功的控制有效期为
提交。每一次成功的控制
其控件名称与其配对
当前值作为提交的一部分
形成数据集。成功控制
必须在表单元素内定义
并且必须有一个控件名称。
However:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)