只有Internet Explorer出错:'document.getElementById(...)'为null或不是对象

时间:2013-10-17 04:56:38

标签: javascript html css internet-explorer asp-classic

我正在研究asp项目但是当我在Internet Explorer 8上运行这个项目时,它会出现以下错误:

  

'document.getElementById(...)'为null或不是对象

        if (obj == 18){
            var name18=document.getElementById("infomsg-18");
            if (name18 != null)
            {
                name18.style.display='none';
            }
        }                                   
    }
    else
    {
        //line:285
        document.getElementById('infomsg_rmsg').innerHTML = 'Info:...'+xmlhttp.status;
        //document.getElementById('Divajax').innerHTML = xmlhttp.statusText;
    }
}
xmlhttp.open("GET","/Reset_ModifFlagSession.asp",false);
xmlhttp.send();

1 个答案:

答案 0 :(得分:2)

正如Passerby所说,没有id为“infomsg_rmsg”的元素,因此您无法访问null对象的innerHTML属性。如果它确实存在(请检查您的源代码以确认),那么原因可能是因为您在DOM完成加载之前调用此内联(<script>...</script>)。尝试从onload处理程序调用相同的函数,看看它是否被检测到。

此外,我怀疑您的HTML可能已损坏,因此在您执行任何操作之前请确保您的HTML validates

最后,如果你写出更好的问题,那么你会得到更好的答案。你的问题中有太多遗漏的HTML /脚本除了猜测之外什么都不做。