复选框控制按钮启用属性 - ASP.NET

时间:2009-10-28 10:06:38

标签: c# asp.net javascript

我想知道如何根据复选框的“已选中”值控制按钮的“已启用”属性:

<asp:CheckBox ID="chkEnableButton" runat="server" />
<asp:Button ID="btnLoadForm" runat="server" />

我可以在服务器端轻松完成这项工作 - 但我要求只在客户端完成,这意味着JavaScript。 OnCheckedChanged属性是否允许我调用一些JavaScript来执行此操作....或者它是否严格用于在代码隐藏中调用处理程序?

只是为了澄清,当选中复选框时,按钮被启用...当取消选中该复选框时,该按钮被禁用。

3 个答案:

答案 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.getElementByIddocument.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属性。