【问题标题】:("ID").Value not working in ASP.net user control("ID").Value 在 ASP.net 用户控件中不起作用
【发布时间】:2019-05-14 06:12:35
【问题描述】:

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

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

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

jquery 代码:

document.getElementById('OTPvalidation1_txt_OTP').Value

此处 ID 正确,但 .Value.text 功能在 ascx 页面中不可用。
ascx 页面中是否有任何替代关键字??

【问题讨论】:

    标签: jquery asp.net webforms


    【解决方案1】:

    首先,不要在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

    希望对您有所帮助。

    【讨论】:

    • 是的,我尝试过以两种方式提供 ID。并且还尝试了价值和价值。在 aspx 页面中,我在 jquery 代码中获得 .value 选项。但是对于 ascx 页面,我没有获得 .value 选项
    【解决方案2】:

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

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

    或者正如其他人在他们的回答中提到的那样。

    【讨论】:

      【解决方案3】:

      尝试使用(不是jQuery Code,是javascript)

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

      对于 jQuery:

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

      【讨论】:

      • 这里应该接受这个答案的jQuery选项
      猜你喜欢
      • 2012-02-09
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      相关资源
      最近更新 更多