javascript - 未定义为 $ ("inputElement").val()

标签 javascript asp.net ajax

我在 ASP.NET 项目的母版页中有此代码

<div style="display:none">
       <input id="txtPageIDMaster" name="txtPageIDMaster" type="text" value="0" runat="server"/>
    <input id="txtOnLineUserMaster" type="text" value="0" runat="server"/>
    </div> 

并在脚本标记中:

alert($("#txtPageIDMaster").val())

但给我这个警报:未定义

最佳答案

这应该有效:

alert($("<%= txtPageIDMaster.ClientID %>").val())
为什么?因为asp.net为控件设置了自己的id。所以ClientID属性为您提供生成的 ID。

从 ASP.NET 4 开始,它现在基于 ClientIDMode属性(property)。可以是四个值:

  • ClientIDMode.Inherit
  • ClientIDMode.AutoID(这是默认值,在 .NET4 之前一直如此)
  • ClientIDMode.Peditable
  • ClientIDMode.Static(这是将 html ID 设置为 asp.net ID 属性时的情况)
<小时/>

Asp.net MVC 不这样做。您可以完全控制您的 html,并且您的 ID 永远不会自动生成。

关于javascript - 未定义为 $ ("inputElement").val(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9544544/

相关文章:

javascript - 在 ng-repeat 中使用变量

javascript - 传单:选择更改时更改 map 中心

asp.net - Visual Studio 调试器仍然显示从 iframe 中删除的旧页面

c# - Javascript 警报不显示

asp.net - 在 ASP.NET 5/MVC 6 上运行 Selenium 测试之前启动 IIS Express

java - 如何从ajax将JSONArray传递到 Controller

javascript - Firestore 查询不起作用

javascript - Highcharts 如何仅在 x 轴的值大于 0 时绘制?

javascript - 多个 AJAX 成功顺序

javascript - 使用 jQuery 从 ajax 调用访问键值对