2011-08-08 43 views
0

嗨朋友我有一个按钮控件,必须启用基于我的asp.net复选框检查,但是当运行代码时我面临的问题我的按钮仍然被禁用,即使我执行复选框检查.is他们的任何属性,我已设置在代码后面,以检查事件。基于asp.net复选框启用和禁用按钮控制的问题检查

我用我的应用程序 下面的代码这是我的JavaScript文件

<script type="text/javascript"> 
        function theChecker() { 
         var checkboxId = '<%= SpEligible.ClientID %>'; 
         alert(checkboxId); 
         if (checkboxId.checked == true) 
          { 
          document.getElementById("SplistButton").disabled = false; 
          } 
          else 
           { 
          document.getElementById("SplistButton").disabled = true; 
           } 
          } 
</script> 

这是我的复选框代码和按钮

<asp:CheckBox ID="SpEligible" runat="server" Text="SpEligible" class="cBox" /> 
    <asp:Button ID="SplistButton" runat="server" OnClientClick=" return ShowInsertForm()" Enabled="false"/> 

这是我的aspx.cs文件我打电话给的那个javascript

SpEligible.Attributes.Add("onclick", "theChecker()"); 

回答

1

我可以看到两个大代码中的错误:

在你<script>标签,你没有意识到,在页面的复选框不会有相同的ID一次,但你没有做了检查。另外,正如Ken Pespisa所说,你所拿的ID只是一个字符串,因此它不知道任何checked属性。下面是代码,我会写:

<script type="text/javascript"> 
    function theChecker() { 
     var checkboxId = '<%= SpEligible.ClientID %>'; 
     alert(checkboxId); 
     if (document.getElementById(checkboxId).checked == true) 
     { 
      document.getElementById("<%= SplistButton.ClientID %>").disabled = false; 
     } 
     else 
     { 
      document.getElementById("<%= SplistButton.ClientID %>").disabled = true; 
     } 
    } 
</script> 

2-在你.cs页面中,你似乎没有使用任何名称空间。你可能已经隐藏了一些代码,所以我只是说一定要有namspaces,并且一定要使用这一行里面的一个函数,也许是页面加载事件函数。

+0

非常感谢,我的代码现在工作正常 – mahesh

1

你需要改变t他的JavaScript代码为:

<script type="text/javascript"> 
        function theChecker() { 
         var checkboxId = document.getElementById('<%= SpEligible.ClientID %>'); 
         alert(checkboxId); 
         if (checkboxId.checked == true) 
          { 
          document.getElementById("SplistButton").disabled = false; 
          } 
          else 
           { 
          document.getElementById("SplistButton").disabled = true; 
           } 
          } 
</script> 

您正在检查字符串常量的checked属性。您需要使用已检查属性的document.getElementById来获取控件本身。我还重命名 “checkboxId” 到 “复选框”

-1

变化 的document.getElementById( “SplistButton”)

的document.getElementById(checkboxId)

+0

这将禁用/启用复选框。目标是启用按钮。 –

相关问题