在Javascript中获取asp控件的ClientID的问题
本文关键字:ClientID 问题 控件 asp Javascript 获取 | 更新日期: 2023-09-27 18:02:46
我有asp.net webApplication有asp控件。
<asp:HiddenField ID="hdTime" runat="server" />
在Javascript中访问上述控件,我使用了$('#ContentPlaceHolder1_hdTime').val('AM');
在mozilla firefox中可以正常工作,但在InternetExplorer中需要$('#ctl00_ContentPlaceHolder1_hdTime').val('AM');
i have also tried
$('#<%= hdTime.ClientID %>')
但上面的语法只适用于。aspx页面,但当我使用javascript.js文件时,它找不到$('#<%= hdTime.ClientID %>')
那么如何访问。js文件中的asp控件??
谢谢
您可以将Clientidmode="static"
设置为控件..
<asp:HiddenField ID="hdTime" runat="server" Clientidmode="static"/>
Javascript: //javascript中的访问控制
var abc=document.getelementbyid('hdTime').value;
尝试使用静态客户端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页面
您可以这样使用:<asp:HiddenField ID="hdTime" runat="server" ClientIDMode="Static" />
你可以找到控件的ID,同样重要的是给ClientIDMode="Static"
var id = Document.getElememtById("hdTime").value;
或
var id = $("#hdTime").val();