在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控件??

谢谢

在Javascript中获取asp控件的ClientID的问题

您可以将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();