You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Textbox通过Javascript/jQuery访问返回undefined值求助

ASP.NET服务器端TextBox的Javascript/jQuery取值解决方案

问题根源

你之前的写法存在两个核心错误:一是jQuery选择器缺少#前缀(通过ID选择元素必须加#才能匹配);二是混淆了jQuery对象与原生DOM元素的属性调用逻辑——jQuery对象没有.value属性,需使用其专属的.val()方法取值。

正确写法示例

1. jQuery 兼容写法(适配所有ASP.NET版本)

// 正确定位元素并获取值
var testVal = $("#<%=txtChosenTime.ClientID%>").val();
console.info(testVal);

说明:<%=txtChosenTime.ClientID%>会在服务器端渲染为客户端实际生成的元素ID,加上#后jQuery才能准确匹配到目标TextBox,再通过.val()方法获取输入值。

2. 原生JavaScript 写法

// 获取原生DOM元素后直接读取value属性
var testVal = document.getElementById("<%=txtChosenTime.ClientID%>").value;
console.info(testVal);

3. 简化写法(ASP.NET 4.0及以上版本可用)

若项目基于ASP.NET 4.0+,可给TextBox设置ClientIDMode="Static",让客户端ID与服务器端ID完全一致:

<asp:Textbox ID="txtChosenTime" runat="server" ClientIDMode="Static"></asp:Textbox>

之后可直接使用服务器端ID进行取值:

// jQuery简化版
var testVal = $("#txtChosenTime").val();

// 原生JS简化版
var testVal = document.getElementById("txtChosenTime").value;

内容的提问来源于stack exchange,提问作者Brandon Armstrong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:15:18