2011-01-20 29 views
1

HEllo - 我试图启用/禁用文本框时,复选框被选中(启用)或未选中(禁用)。在选中/取消选中复选框之后,我没有任何事情发生。 这是我有:启用带有复选框的javascript文本框

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssociationInfo.ascx.cs" Inherits="Administration.Modules.AssociationInfo" %> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 
    <script type="text/javascript" language="javascript"> 
     function enableTextBox() { 
      window.onload = function() { 
       var check = document.getElementById("chkAssociation"); 
       check.onchange = function() { 
        if (this.checked == true) 
         document.getElementById("txtAddress").disabled = false; 
        else 
         document.getElementById("txtAddress").disabled = true; 
       }; 
      }; 
     } 
    </script> 

    <div> 
    <h2>Association Info</h2> 
    <br /> 

     <asp:CheckBox Checked="false" ID="chkAssociation" runat="server" />&nbsp;&nbsp; 
     <asp:TextBox ID="txtAddress" Text="Test" runat="server" /> 
    </div> 

该代码是在网络用户控制。这可能是为什么工作不正常的原因?

感谢您提前帮助

感谢大家的帮助,Laziale

回答

2

尝试“点击”,而不是“平变化” - 我相信这是你在找什么。

4

请打开的AutoPostBack的。

<asp:CheckBox Checked="false" 
       OnChange="javascript:enableTextBox();" 
       ID="chkAssociation" 
       runat="server" /> 

编辑:试试这个代码,

<script type="text/javascript"> 
     window.onload = function() { 
      var check = document.getElementById("<%=chkAssociation.ClientID %>"); 
      check.onchange = function() { 
       if (this.checked == true) 
        document.getElementById("<%=txtAddress.ClientID %>").disabled = false; 
       else 
        document.getElementById("<%=txtAddress.ClientID %>").disabled = true; 
      }; 
     }; 
</script>   

<asp:CheckBox Checked="false" ID="chkAssociation" runat="server" /> 
<asp:TextBox ID="txtAddress" Enabled="false" Text="Test" runat="server" /> 
+0

相同,什么都没有发生 – Laziale 2011-01-20 14:01:24

+0

您正在使用哪种浏览器? – adatapost 2011-01-20 14:17:46

1

入住这

1.如果复选框被选中,则文本框是禁用

<script type="text/javascript"> 
function enableDisable(bEnable, textBoxID) 
{ 
    document.getElementById(textBoxID).disabled = bEnable 

} 
</script> 


<asp:TextBox ID="t1" Text="" runat="server" /> 
<asp:CheckBox ID="chk1" Checked="false" onclick="enableDisable(this.checked, 't1');" runat="server" /> 

2.如果复选框被选中,则文本框会启用

<script type="text/javascript"> 
function enableDisable(bEnable, textBoxID) 
{ 
    document.getElementById(textBoxID).disabled = !bEnable 

} 
</script> 
     <asp:TextBox ID="t1" Text="" runat="server" /> 
     <asp:CheckBox ID="chk1" Checked="true" onclick="enableDisable(this.checked, 't1');" runat="server" />