0

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

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

4

3 回答 3

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

于 2012-12-01T09:11:00.663 回答
1

代替:

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

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

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

布尔属性在哪里disabled,该值没有太大区别。您可以在类似的帖子中阅读更多相关信息:HTML - 为什么布尔属性没有布尔值?

更新:

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

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

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

于 2012-11-30T21:10:14.203 回答
0

删除AutoPostBack="true" 复选框

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

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

JS

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

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

检查小提琴

于 2012-11-30T21:13:48.450 回答