【问题标题】:getElementById returns null used in Content PagesgetElementById 返回内容页面中使用的 null
【发布时间】:2017-06-30 07:53:39
【问题描述】:

我正在使用主内容页面方案,主页面仅用于显示标题。我的整个逻辑都在内容页面上。我使用 javascript 进行验证,在按钮 onClientClick 上调用 javascript 函数但 getElementById 返回 Null

<input type="text" id="Text2" name="txtCustEmail" class="form-control input-group" placeholder="Email" style="width:75%;" runat="server" />

而Javascript函数是:

function valData() {
  debugger;

  var Email = document.getElementById("txtCustEmail").value;
  var telno = document.getElementById("txtTelno").value;
  var mob = document.getElementById("txtMob").value;
  if(Email=="") {
    return false;
  }
  return false;
}

和按钮点击

<asp:Button ID="Button1" runat="server" Text="Submit" CssClass="btn btn-primary" OnClientClick="return valData();" Width="15%" />

当我在单独的网页上使用这个相同的逻辑时,它正在工作,但添加母版页引用它不起作用。

【问题讨论】:

  • 看起来有人需要了解idname 之间的区别是什么......?
  • 当使用母版页时,aspnet 会重命名控件的 ID。
  • 和 var Email =document.getElementById("#txtCustEmail").value;仍然返回 Null

标签: javascript html asp.net


【解决方案1】:

您混淆了 id 和名称。 document.getElementById("#id") 需要一个 id 而不是名称。

var Email = document.getElementById("#Text2").value;

相应地编辑您的其他行。

同时编辑这一行,

<asp:Button ID="Button1" runat="server" Text="Submit" CssClass="btn btn-primary" OnClientClick="valData" Width="15%" />

【讨论】:

  • 你是对的 Sid24 ,但是 var Email =document.getElementById("#txtCustEmail").value;
  • 但仍返回 Null
  • 您的问题陈述将 id 提到为 Text2 而不是 txtCustEmail。 &lt;input type="text" id="Text2" name="txtCustEmail" class="form-control input-group" placeholder="Email" style="width:75%;" runat="server" /&gt;
【解决方案2】:

HI Bhauso,

Set property ClientIdMode="Static" in your controls.
Ex :- <input type="text" id="Text2" name="txtCustEmail" ClientIdMode="Static" class="form-control input-group" placeholder="Email" style="width:75%;" runat="server" />

谢谢:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2015-09-17
    • 2018-03-12
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    相关资源
    最近更新 更多