Javascript 如何在ASP.NET控件上执行getElementById
我的页面上有一个元素Javascript 如何在ASP.NET控件上执行getElementById,javascript,asp.net,Javascript,Asp.net,我的页面上有一个元素 <asp:Button ID="buttonToFind" runat="server" OnClick="SomeProcess" /> 然而,它似乎找不到控制。我的理解是asp:按钮被更改为输入元素?这个输入有一个包含原始ID的新ID,但是有很多额外的字符,因此我在页面上找不到原始ID 这是正确的吗 同样考虑到这一点,我将如何指定要搜索的正确ID?您的理解是正确的 如果JS位于ASPX/ASCX标记上,这将起作用: document.getElementB
<asp:Button ID="buttonToFind" runat="server" OnClick="SomeProcess" />
然而,它似乎找不到控制。我的理解是asp:按钮被更改为输入元素?这个输入有一个包含原始ID的新ID,但是有很多额外的字符,因此我在页面上找不到原始ID
这是正确的吗
同样考虑到这一点,我将如何指定要搜索的正确ID?您的理解是正确的 如果JS位于ASPX/ASCX标记上,这将起作用:
document.getElementById('<%= buttonToFind.ClientID %>');
document.getElementById(“”);
如果JS是外部的,您需要做额外的工作(例如使用文字来保存ID或注册脚本)。您需要获取服务器控件的客户端ID:
document.getElementById("<%=buttonToFind.ClientID%>");
document.getElementById(“”);
您需要控件的属性。在ASP.NET 4中,还可以将设置为静态 任何服务器控件都将被赋予新的客户端Id,这样您就可以使用您传递给Javascript的任何控件的ClientId:)
所以
document.getElementById(“”);
应该是你的答案确保你的.NET语言是VB.NET,否则你会出错。(C#区分大小写。)如果一个答案是其他三个答案的副本,并且在其他答案被标记为正确的3小时后发布,这是怎么回事?我不知所措。如果OP在3小时后检查他的问题,如果按“最新”排序,他只会将其视为第一个回答。我认为它应该默认按“最老的”排序。
document.getElementById("<%=buttonToFind.ClientID%>");
document.getElementById('<%= buttonToFind.ClientID %>');