我想知道如何根据复选框的“已选中”值控制按钮的“已启用”属性:
<asp:CheckBox ID="chkEnableButton" runat="server" />
<asp:Button ID="btnLoadForm" runat="server" />
我可以在服务器端轻松完成这项工作 - 但我要求只在客户端完成,这意味着JavaScript。 OnCheckedChanged属性是否允许我调用一些JavaScript来执行此操作....或者它是否严格用于在代码隐藏中调用处理程序?
只是为了澄清,当选中复选框时,按钮被启用...当取消选中该复选框时,该按钮被禁用。
答案 0 :(得分:2)
使用Javascript:
<script type="text/javascript">
function checkButt(obj) {
document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;
}
</script>
网络控制:
<asp:CheckBox ID="chkEnableButton" runat="server" OnClientClick="checkButt(this);" />
<asp:Button ID="btnLoadForm" runat="server" />
答案 1 :(得分:0)
您可以使用此处ClientID属性,以便您可以使用document.getElementById
或document.forms[0].elements[clientID]
通过javascript在客户端获取控件。
function enableButton() {
$get('<%= btnLoadForm.ClientID %>').disabled = !$get('<%= chkEnableButton.ClientID %>').checked;
}
<asp:CheckBox ID="chkEnableButton" runat="server" OnClientClick="enableButton()" />
答案 2 :(得分:0)
This SO question可能会给你一些如何做到这一点的提示。但是,在您的情况下,不要更改Checkbox
的文字,而是在页面上找到Button
控件并更改它的disabled
属性。