C# 使用javascript选中复选框启用文本框

C# 使用javascript选中复选框启用文本框,c#,javascript,asp.net,visual-studio-2010,C#,Javascript,Asp.net,Visual Studio 2010,你好- 当复选框被选中(启用)或未选中(禁用)时,我试图启用/禁用文本框。 对于这段代码,一旦选中/取消选中复选框,就不会发生任何事情。 以下是我所拥有的: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssociationInfo.ascx.cs" Inherits="Administration.Modules.AssociationInfo" %> <%@ Register Assembly="

你好- 当复选框被选中(启用)或未选中(禁用)时,我试图启用/禁用文本框。 对于这段代码,一旦选中/取消选中复选框,就不会发生任何事情。 以下是我所拥有的:

<%@ 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>

函数enableTextBox(){
window.onload=函数(){
var check=document.getElementById(“chkaSociation”);
check.onchange=函数(){
if(this.checked==true)
document.getElementById(“txtAddress”).disabled=false;
其他的
document.getElementById(“txtAddress”).disabled=true;
};
};
}
协会信息

代码在web用户控件中。这可能是机器不能正常工作的原因吗

谢谢你的帮助


提前感谢大家的帮助,拉齐尔

请打开自动回邮

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

window.onload=函数(){
var check=document.getElementById(“”);
check.onchange=函数(){
if(this.checked==true)
document.getElementById(“”).disabled=false;
其他的
document.getElementById(“”).disabled=true;
};
};

请打开自动回邮

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

window.onload=函数(){
var check=document.getElementById(“”);
check.onchange=函数(){
if(this.checked==true)
document.getElementById(“”).disabled=false;
其他的
document.getElementById(“”).disabled=true;
};
};

试试“onclick”而不是“onchange”-我相信这就是你想要的。

试试“onclick”而不是“onchange”-我相信这就是你想要的。

检查此项

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

功能启用禁用(bEnable,textBoxID)
{
document.getElementById(textBoxID).disabled=bEnable
}
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="false" onclick="enableDisable(this.checked, 't1');" runat="server" />
 <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" />

功能启用禁用(bEnable,textBoxID)
{
document.getElementById(textBoxID).disabled=!bEnable
}

检查此项

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

功能启用禁用(bEnable,textBoxID)
{
document.getElementById(textBoxID).disabled=bEnable
}
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="false" onclick="enableDisable(this.checked, 't1');" runat="server" />
 <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" />

功能启用禁用(bEnable,textBoxID)
{
document.getElementById(textBoxID).disabled=!bEnable
}

firefox。但我也尝试了IE和Chrome,使用了你提出的解决方案,但仍然没有任何进展。代码在web用户控件中,而不是在.aspx页面中。请看帖子。我变了。火狐。但我也尝试了IE和Chrome,使用了你提出的解决方案,但仍然没有任何进展。代码在web用户控件中,而不是在.aspx页面中。请看帖子。我变了。谢谢乔,但还是什么都没发生。我有网络用户控制的代码,我不知道这是否是原因之一。然而,我用完整的web用户控件编辑了上面的代码,若你们能看到一些错误的话。感谢您为用户控件提供的帮助,渲染控件的ID与您为其提供的ID不同。查看一下浏览器中的“查看源代码”,您将看到txtAddress现在被命名为“ctrl\u 00\u txtAddress”之类的名称。您需要像adatapost在其回答中所做的那样,将调用包装在一个块中,以使javascript正常工作。顺便说一句,母版页也是如此,现在大多数网站都在使用母版页,因此每次使用javascript引用服务器控件时,使用“ClientID”语法总是一个好主意。谢谢。我不知道我是否能选择正确的答案,但你们都帮助了我。祝你有一个愉快的一天谢谢乔,但是仍然没有发生任何事情。我有网络用户控制的代码,我不知道这是否是原因之一。然而,我用完整的web用户控件编辑了上面的代码,若你们能看到一些错误的话。感谢您为用户控件提供的帮助,渲染控件的ID与您为其提供的ID不同。查看一下浏览器中的“查看源代码”,您将看到txtAddress现在被命名为“ctrl\u 00\u txtAddress”之类的名称。您需要像adatapost在其回答中所做的那样,将调用包装在一个块中,以使javascript正常工作。顺便说一句,母版页也是如此,现在大多数网站都在使用母版页,因此每次使用javascript引用服务器控件时,使用“ClientID”语法总是一个好主意。谢谢。我不知道我是否能选择正确的答案,但你们都帮助了我。祝你今天愉快