1

我正在尝试从 jquery 访问文本框和隐藏字段的值。我得到未定义的价值。

这些控件位于我的母版页的内容页中。

 <input id="datepickerContact" type="text" runat="server" />
<input type="hidden" runat="server" id="IAssignmentId" clientidmode="Static" />

在javascript函数中:

 var Insid = $("#datepickerContact");
    var firstcontactDate = $("#IAssignmentId");
    alert(Insid.val());
    alert(firstcontactDate.val());

提前致谢

BB

4

3 回答 3

2
$(document).ready(function() {
    var Insid = $("#<%= datepickerContact.ClientID %>");
    var firstcontactDate = $("#IAssignmentId");
    alert(Insid.val());
    alert(firstcontactDate.val());
});
于 2011-10-12T02:50:21.900 回答
2

您还没有提到ClientIDMode进行 datepickerContact控制。默认情况下,该模式将是可预测的(如果是已迁移站点,则为 AutoID),并且它将使用父命名容器的串联生成 html 端 id,如果是内容页面,它将是内容占位符。

简而言之,datepickerContact文本框将具有类似于“content1_datepickerContact”的 html id 属性,因此 jquery 选择器将找不到 html 控件。

简单的解决方案是将 ClientIDMode 用作静态。例如,

<input id="datepickerContact" type="text" runat="server" ClientIDMode="Static" />

另一种方法是将通过ClientID属性获得的实际客户端 ID(无论客户端 ID 模式如何)传递给您的 java-script 函数。如果您的函数是在标记 (aspx) 上定义的,那么您可以使用服务器端指令将客户端 ID 嵌入脚本中,如 rick schott 所示。如果您的函数位于外部 js 中,那么您必须将客户端 ID 作为参数传递。

于 2011-10-12T05:11:10.190 回答
0

你可以通过写这个来访问

var insid=$("#<%= datepickerContact.ClientID %>").val();
警报(内部);

于 2015-03-24T09:55:27.010 回答