Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ASP.NET控件上执行getElementById_Javascript_Asp.net - Fatal编程技术网

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 %>');