如果在aspx页面中使用javascript启用了复选框,则需要启用按钮

时间:2012-11-30 21:05:32

标签: javascript asp.net

如果在aspx页面中使用javascript启用了复选框,则需要启用按钮。这是我在aspx页面中的代码。请帮助!

<script type="text/javascript">
function checkButt(obj) {
    alert("Inside the function");
    document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;
}

   

3 个答案:

答案 0 :(得分:2)

使用以下代码,您将获得解决方案。

<强>的Javascript

<script type="text/javascript">

    function enableordisable() {
            if (document.getElementById('CheckBox1').checked == true) {
                document.getElementById('Button1').disabled = false;
            }
            else {
                document.getElementById('Button1').disabled = true;
            }
    }

<强> HTML

    <asp:CheckBox ID="CheckBox1" runat="server" Text="enable" onchange="enableordisable();" />
    <br />
    <br />
    <asp:Button ID="Button1" runat="server" Text="Button" Enabled="false" />

<asp:CheckBox ID="CheckBox1" runat="server" Text="enable" onchange="enableordisable();" /> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="Button" Enabled="false" />

答案 1 :(得分:1)

而不是:

document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;

您可以尝试removing元素中的disabled属性(根据需要添加逻辑):

document.getElementById('<%=btnLoadForm.ClientID%>').removeAttribute("disabled")

如果disabled是布尔属性,则该值不会产生太大影响。您可以在类似的帖子中详细了解:HTML - Why boolean attributes do not have boolean value?

<强>更新

您需要围绕removeAttribute语句的逻辑。类似于:

function checkButt(obj) {
    if(obj.checked)
      document.getElementById('<%=btnLoadForm.ClientID%>').removeAttribute("disabled");
}

如果选中document.getElementById('<%=btnLoadForm.ClientID%>'),则会启用obj.checked

答案 2 :(得分:0)

删除复选框的AutoPostBack="true"

在脚本中添加事件而不是inline HTML ..

<asp:Button runat="server" id="btnLoadForm" />
​<asp:CheckBox runat="server" id="chk" />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

<强> JS

var elem = document.getElementById('chk');

chk.addEventListener('click', function(){
    document.getElementById('btn').disabled = !this.checked;
});

<强> Check Fiddle