2010-11-10 46 views
3

我的页面上有一个元素。如何在ASP.NET控件上执行getElementById

<asp:Button ID="buttonToFind" runat="server" OnClick="SomeProcess" /> 

在javascript中,我试图找到使用此控件:

document.getElementById("buttonToFind"); 

然而,它似乎无法找到控制。我的理解是,asp:Button被改为输入元素?此输入有一个新的ID,其中包含原始ID,但有很多额外的字符,因此我无法在页面上找到原始ID?

这是正确的吗?

此外,我该如何去指定正确的ID来搜索?

回答

0

任何服务器控件将会给新的客户端ID,以便宥可以使用任何控制的ClientID的你WANA通过为Javascript :) 所以

document.getElementById('<%= buttonToFind.ClientID %>'); 

应该是你的答案

+1

这是一个与其他3个答案相同的答案,并且在其他答案被标记为正确3个小时后发布的答案是怎样的?我很茫然。 – RPM1984 2010-11-10 23:38:25

+1

如果OP在3小时后检查他的问题,他只是将其视为第一个响应,如果按“最新”排序。我认为它应该默认按“最老”排序。 – palswim 2010-12-20 20:45:36

1

你的理解是正确的。

如果JS是在ASPX/ASCX标记这将工作:

document.getElementById('<%= buttonToFind.ClientID %>'); 

如果JS是外部的,你需要做额外的工作(例如,使用文字来保存的ID,或注册一个脚本)。

+0

确保您的.NET语言是VB.NET,否则你会得到一个错误。 (C#区分大小写。) – jordanbtucker 2010-11-10 03:21:22

+0

@Jordan - 我的不好,已更新。 – RPM1984 2010-11-10 03:22:15

0

你需要让服务器控件的客户端ID:

document.getElementById("<%=buttonToFind.ClientID%>"); 
相关问题