如果在aspx页面中使用javascript启用了复选框,则需要启用按钮。这是我在aspx页面中的代码。请帮助!
<script type="text/javascript">
function checkButt(obj) {
alert("Inside the function");
document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;
}
答案 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 强>