调用javascript函数以显示模式窗口时出现此错误:
代码块是:
else if (action=="officeview") {
document.getElementById("OfficeContent").src="ChangeView.aspx";
ShowFeatureModal('AppView','OfficeContent')
对象就是这种情况,确实存在。
错误发生在:
document.getElementById
行。还有什么可能导致错误?
更新:
Index.aspx正在调用sysUtilities.js文件中的javascript函数。源文件仍是单独的页面(ChangeView.aspx)
最佳答案
如果document.getElementById
找不到元素,它将返回null
。如果然后尝试从src
获取null
属性,则会收到此错误。
您要么需要确保存在一个ID等于OfficeContent
的元素,要么执行以下操作:
else if (action=="officeview") {
var officeContent = document.getElementById("OfficeContent")
if (officeContent) {
officeContent.src="ChangeView.aspx";
ShowFeatureModal('AppView','OfficeContent')
}
}
编辑:如果使用的是ASP.NET,则请记住,如果ID在容器控件中,则它们可能会被名称迷惑。在这种情况下,您必须确保使用
ClientID
而不是普通的旧ID
。像这样:document.getElementById("<%= OfficeContent.ClientID %>")