大家好,
我正在设计一个用户控件,简要说它包含一个asp:hiddenfield控件,我将通过这样的JavaScript函数访问它
function doAnyThing
{
var myVar = document.getElementById("myHiddenFiled");
}
但是当我追踪我的代码时,我发现myVar被赋值为null,这是否重要
document.getElementById()
方法用于用户控制文件(.ascx)或常规(.aspx)文件,考虑到它在(.aspx)文件中正常工作
答案 0 :(得分:9)
您必须通过ClientID设置控件的最终ID,这将取决于您的页面结构。 试试这个:
function doAnyThing
{
var myVar = document.getElementById("<%= yourControlServerID.ClientID %>");
}
显然这个函数需要放在.aspx文件中。我建议你切换到使用像jQuery这样的框架,它允许你通过更多的sofistic选择器来检索控件。这个案子将通过以下方式解决:
$("[id$=yourControlServerID]");
您可以将javascript代码放在外部.js文件中。
答案 1 :(得分:2)
简化您可以使用:
JQuery的
$("<%= yourControlServerID.ClientID %>"). ....
ASP.NET JavaScript注释:
var myVar = $get("<%= yourControlServerID.ClientID %>");
ASP.NET JavaScript注释代码与:
相同var myVar = document.getElementById("<%= yourControlServerID.ClientID %>")