以下用于工作的javascript函数:
function tbComment_onKeyDown(ID) {
var commentPop = $find("WebDialogWindowComment")
commentPop.set_windowState($IG.DialogWindowState.Normal);
commentID = ID;
var thePopUpTb = $get("WebDialogWindowComment$tmpl$tbCommentPopUp");
thePopUpTb.focus();
thePopUpTb.value = commentID.value;
}
它在我的aspnet(3.5)表单上的文本框上执行了onKeyDown,它导致了一个infragistics WebDialogWindow变为可见,将焦点设置为该窗口中的文本框,并复制到原始texbox中的任何文本到文本框在WebDialogWindow中。
现在,$ get(“WebDialogWindowComment $ tmpl $ tbCommentPopUp”);返回null。当我在页面上查看View Source时,WebDialogWindowComment $ tmpl $ tbCommentPopUp就在页面上。
我正在运行代码(webbrowser in)vs2008。从它工作到现在我能想到的唯一区别是我从vista升级到windows7。我不是在使用JQuery。
此外,此代码通过vs2008在另一台xp机器上运行。
并且,开发服务器(xp机器)上的应用程序在我的Windows 7机器上运行。
任何人都可以帮忙解决这里发生的事情吗?
答案 0 :(得分:1)
WebDialogWindowComment$tmpl$tbCommentPopUp
看起来像一个元素名称。 $get()适用于元素ID,而不是名称。尝试:
var thePopUpTb = $get("WebDialogWindowComment_tmpl_tbCommentPopUp");
在版本8之前,Internet Explorer错误地接受了document.getElementById()方法中的元素名称。这可能就是为什么你的代码在Windows XP上的IE7下工作的原因。