(“ ID”)。值在ASP.net用户控件中不起作用

时间:2019-05-14 06:12:35

标签: jquery asp.net webforms

我在ASP.net ascx页面中有如下所示的文本框

<input type="text" maxlength="200" runat="server" id="txt_OTP" />

我想在jquery中获取文本框输入值(在同一asx页面中) 但是.value或.text函数不可用

jquery代码:

document.getElementById('OTPvalidation1_txt_OTP').Value

此处的ID正确,但是.Value页上的.textascx功能不可用。
ascx页上有其他关键字吗??

3 个答案:

答案 0 :(得分:2)

首先,请勿在javascript / jquery函数中使用静态名称。

您可以使用

document.getElementById("<%= txt_OTP.ClientID %>")

代替

document.getElementById('OTPvalidation1_txt_OTP')

无论如何,如果您的文本框ID会发生变化,而javascript不会给您任何错误。

现在要获取值,您可以使用

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

您已使用document.getElementById('OTPvalidation1_txt_OTP').Value

对于javascript,要获取输入值,则应为.value而不是.Value

希望获得帮助。

答案 1 :(得分:1)

您是否尝试过.value而不是.Value
您还确定txt_OTP的ID是否与您提到的相同?通常在我使用的网络表单中:

<input type="text" maxlength="200" runat="server" id="txt_OTP" ClientIdMode="Static" />

或者就像其他人在回答中提到的那样。

答案 2 :(得分:1)

尝试使用(这不是jQuery代码,而是javascript)

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

对于jQuery:

$('#<%= txt_OTP.ClientID %>').val();