调用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 %>")

10-06 04:58