无法在javascript中访问文本框ID

时间:2014-10-30 07:03:44

标签: javascript c#

我将此文本框置于数据主义者的背后

tr>
    <td><h5>Email</h5> <asp:TextBox ID="tb_email" CssClass="tb_orderByPhn" runat="server" /> </td>
</tr>

按钮调用javascript为

  <tr>
    <td> <asp:LinkButton id="btn_order"  class="btn btn-lg btn-block btn-success btn_rad " OnClick="btn_order" OnClientClick=" return validate_order()"   runat="server" >Order now <i class=" glyphicon glyphicon-chevron-right  " ></i></asp:LinkButton></td>
</tr>

在上面的按钮上点击我正在调用一个javascript函数。对此它很好但它不会识别文本框ID为什么?

 function validate_order() {

    alert("ok");
    var name = document.getElementById('<%=tb_email.ClientId%>').value;
    alert(name);

}

它给出了错误:当前上下文中不存在名称“tb_email”。

2 个答案:

答案 0 :(得分:1)

您使用的是哪个Asp.Net版本? 如果ASP.NET&gt; = 4.0,则在asp.net文本框上使用ClientIDMode =“Static”并尝试一下。因为ASP.NET通过将父命名容器与控件的ID值连接等来将它们呈现给客户端时更改控件ID。

请参阅:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx

答案 1 :(得分:0)

尝试以下代码:

function validate_order() {

  alert("ok");
  var name = document.getElementById('tb_email.'+'<%=ClientId%>').value;
  alert(name);

}