我有asp.net webApplication有asp控件。
<asp:HiddenField ID="hdTime" runat="server" />
要在Javascript中访问上述控件,我使用了$('#ContentPlaceHolder1_hdTime').val('AM');
它在Mozila Firefox中运行良好,但在InternetExplorer中它需要
$('#ctl00_ContentPlaceHolder1_hdTime').val('AM');
我也试过
$('#<%= hdTime.ClientID %>')
但上面的syntext仅适用于.aspx页面,但是当我使用javascript.js文件时,它找不到$('#<%= hdTime.ClientID %>')
所以如何访问.js文件中的asp控件?
由于
答案 0 :(得分:2)
您可以为控件设置Clientidmode="static"
..
<asp:HiddenField ID="hdTime" runat="server" Clientidmode="static"/>
<强>使用Javascript:强>
//在javascript中访问控件
var abc=document.getelementbyid('hdTime').value;
答案 1 :(得分:1)
尝试使用静态客户端ID:
http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx
此问题是因为webforms生成的ID是动态的,因此您无法对其进行硬编码。但是,webforms 4引入了静态客户端ID以解决您遇到的问题。
例如,将此属性添加到您的控件:ClientIDMode="Static"
,然后您可以在JavaScript中引用您的控件,如下所示:
$('#hdTime')
如果您不能使用webforms v4,那么您必须将JavaScript放在aspx页面中。
答案 2 :(得分:0)
您可以这样使用:<asp:HiddenField ID="hdTime" runat="server" ClientIDMode="Static" />
你可以找到控件的ID,同样重要的是要给 ClientIDMode =“静态”
var id = Document.getElememtById(“hdTime”)。value;
或
var id = $(“#hdTime”)。val();