【问题标题】:document.getElementById disabled in ASP.NET site [closed]在 ASP.NET 站点中禁用 document.getElementById [关闭]
【发布时间】:2013-07-11 13:47:04
【问题描述】:

我发现了一个不错的网站,它建立在ASP.NET 中。我想在它上面尝试一些东西,比如通过控制台在输入字段中输入文本,使用 JavaScript,但它看起来像是被禁用了。当我尝试这样做时:

document.getElementById("name");

我得到null,在我尝试的每个元素上。在站点的js 文件中,我看到他们在代码中使用getElementById,但不知何故它对我来说被禁用了。

【问题讨论】:

  • 它没有被禁用……你做错了什么。您是否有一个具有id="name" 的元素?
  • 你在哪里运行你的代码?元素之后?在窗口load 事件中?还是您自己在<head> 中有它?
  • 我当然有——它 100% 存在
  • document.getElementById 在未找到匹配项时返回 null,因此您在尝试查询时没有元素 在 DOM 中id="name"它出来了,或者发生了其他事情。如果没有更多代码来查看您在做什么,将很难提供帮助。

标签: javascript html asp.net


【解决方案1】:

您需要使用 clientId。例如这里是你的服务器控件

<asp:textbox id="txtName" runat="server/>

现在您想使用 javascript 访问它,那么您需要执行以下操作。

document.getElementById("<%=txtName.ClientID%>").value;

【讨论】:

  • 我的 ID 是 - name,所以我做了:document.GetElementById("&lt;%=name.ClientID%&gt;").value; 并得到了结果:TypeError: Object #&lt;HTMLDocument&gt; has no method 'GetElementById'
  • 有点奇怪,我得到了TypeError: Cannot read property 'value' of null - 但我确定输入了数据
  • 你能粘贴你的代码吗?
  • @Dima javascript 区分大小写。您将 GetElementById 与 G 而不是“g”一起使用。 document.getElementById("").value;
  • 我确实做到了:document.getElementById("&lt;%=name.ClientID%&gt;").value; 但现在它返回TypeError: Cannot read property 'value' of null。我在其他网站上玩过它,它总是有效
猜你喜欢
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 2019-03-02
  • 2010-09-09
  • 1970-01-01
相关资源
最近更新 更多