在我的网页onLoad()函数上,我按以下方式禁用页面上的所有控件
var form = document.getElementById("form1");
var elements = form.elements;
for (var i = 0, len = elements.length; i < len; ++i) {
elements[i].disabled = true;
}
document.getElementById('btnReactivate').disabled = false;
我需要在页面上启用一个按钮(上面的btnReactivate)。我遇到的问题是,无论何时单击按钮并进入Page_Load事件Page.IsPostback始终为false并且后面的代码中的onclick事件也不会触发。按钮已创建
<asp:Button runat="server" ID="btnReactivate" Text="btnReactivate" onclick="btnReactivate_Click" width="80px" meta:resourcekey="btnReactivateResource1" />
和事件处理程序如此
protected void btnReactivate_Click(object sender, EventArgs e)
{}
可能还值得一提的是,我尝试过几种不同的方式禁用表单元素,包括在Input控件中循环而不是所有元素
答案 0 :(得分:3)
我认为这是因为禁用的控件不会回发到服务器(从而阻止检测回发)。
你应该制作控件Readonly
。或者在发布之前重新启用客户端。
请参阅http://www.w3.org/TR/html401/interact/forms.html#adef-disabled
禁用的控件无法成功。
和http://www.w3.org/TR/html401/interact/forms.html#adef-readonly
只读元素可能会成功。