我将此文本框置于数据主义者的背后
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”。
答案 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);
}