在JavaScript中正确引用ASP.NET用户控件中的控件

skb*_*skb 2 javascript asp.net user-controls

我有一个ASP.NET用户控件,其中包含一个文本框控件和一个按钮控件.此用户控件将多次添加到我的网页中.我需要有一段JavaScript,只要文本框改变就会运行,如果文本框的值无效,则禁用该按钮.我的问题是:如何将JavaScript放在只能引用同一用户控件中的按钮的文本框中?请记住,有许多ASP.NET用户控件,每个控件都有一个按钮和一个文本框,我只希望文本框中的无效值影响一个关联的按钮.谢谢!

max*_*xnk 5

您可以使用控件的ClientId属性(它在客户端唯一标识控件)并制作类似的东西:

<asp:TextBox runat="server" ID="myTextBox" />
<asp:Button runat="server" ID="myButton" Text="click" />

<script language="javascript" type="text/javascript">
    document.getElementById("<%=myTextBox.ClientID %>").onclick = function() {
        document.getElementById("<%=myButton.ClientID %>").disabled = "disabled";
    }
</script>
Run Code Online (Sandbox Code Playgroud)

另请参阅此文档: ASP.NET网页中的客户端脚本,在客户端脚本中引用服务器控件一节