2010-04-06 60 views
1

属性我想这个JavaScript,但它不工作 - here更改按钮的启用通过复选框

我需要时复选框被选中按钮的enabled属性更改为真,为假时,它不是。这是我的代码。

<tr> 
    <td colspan="2" align="center"> 
    <asp:CheckBox ID="cbAcceptAgreement" runat="server" OnClientClick="acceptAgreement(this)" /> 
    <asp:Label ID="lblUserAgreement" runat="server" Text="I accept the " /> 
    <asp:HyperLink ID="hlUserAgreement" runat="server" Text="User Agreement" NavigateUrl="Help/UserAgreement.aspx" /> 
    </td> 
</tr> 
<tr> 
    <td colspan="2" align="center"> 
    <asp:Button ID="btnRegister" runat="server" Text="Register" /> 
    </td> 
</tr> 

<script type="text/javascript"> 
    function acceptAgreement(obj) { 
    document.getElementById('<%=btnRegister.ClientID%>').disabled = !obj.checked; 
    } 
</script> 

你能帮我解决这个问题?

回答

2

JavaScript是大小写敏感的,你在你的函数有Objobj,它们必须匹配:)

要修复,改变你的功能,这一点:

function acceptAgreement(obj) { 
    document.getElementById('<%=btnRegister.ClientID%>').disabled = !obj.checked; 
} 
+0

仍然不工作:( – 2010-04-06 12:39:38

+0

@Ivan - 什么是不工作,它不会转换,它最初不会被禁用,javascript错误...其他? – 2010-04-06 12:47:06

+0

该按钮始终处于启用状态 – 2010-04-06 12:48:26

0
function acceptAgreement(id){ // where id is check box id 
    var check = document.getElementById(id).checked 
    document.getElementById('btnRegister').disabled = !check 
} 
+0

其中'“主”'是'ID',嘿? – 2010-04-06 12:33:34

+0

@david。我错了,我编辑它。 – Salil 2010-04-06 12:40:40

0

,因为你有这些按钮和复选框在服务器上运行,为什么不处理启用和禁用后面的服务器代码。另外的编程语言是您使用的代码隐藏的C#示例

  protected void cbAcceptAgreement_CheckChanged(object sender, EventArgs e) 
     { 
      btnRegister.Enabled = cbAcceptAgreement.Checked; 
     } 

页部分

 <asp:CheckBox ID="cbAcceptAgreement" runat="server" AutoPostBack="True" 
     oncheckedchanged="cbAcceptAgreement_CheckedChanged" /> 

还是让我知道这是否为你工作伊万

改为希望这的AutoPostBack =真为chekcbox将帮助

+2

这是一个可怕的想法。做这个客户端将会提供更好的性能,更好的用户体验,并且代码少得多(为此需要一个ajax/updatepanel实现) – 2010-04-06 12:36:25

+0

我使用C#。我一直在寻找解决方案背后的代码,但我找不到一个。 – 2010-04-06 12:37:55

+0

确定它是一个简单的注册它不经常使用,我不知道你为什么要做它的客户端。这可能只是一些例子,如移动网页浏览,你不想等待服务器,但我认为在这个问题的范围内,客户端应该没问题。否则为什么甚至有一个客户端 – 2010-04-06 12:42:47

相关问题