【问题标题】:Checkbox to Control Button Enabled Property - ASP.NET控制按钮启用属性的复选框 - ASP.NET
【发布时间】:2009-10-28 18:28:28
【问题描述】:

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

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

我可以在服务器端很容易地做到这一点 - 但我要求这只能在客户端完成,即 JavaScript。 OnCheckedChanged 属性是否允许我调用一些 JavaScript 来执行此操作....或者它是否严格用于在代码隐藏中调用处理程序?

澄清一下,当复选框被选中时,按钮被启用……当复选框被取消选中时,按钮被禁用。

【问题讨论】:

    标签: c# asp.net javascript


    【解决方案1】:

    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" />
    

    【讨论】:

      【解决方案2】:

      This SO question 可能会提示您如何执行此操作。但是,在您的情况下,不要更改 Checkbox 的文本,而是在您的页面上找到 Button 控件并更改它的 disabled 属性。

      【讨论】:

        【解决方案3】:

        您可以在此处使用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()" />
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-28
        • 1970-01-01
        • 2021-07-01
        • 2011-01-22
        • 2016-12-11
        相关资源
        最近更新 更多