internet explorer 6,7,8上的javascript错误;是否为空或不是对象;
当我启动index.php时,它会调用包含以下代码的javascript文件: 当应用程序立即启动时,会出现以下错误: 这只能在internet Explorer上发生,index.php上没有“txtName”,因为。每个页面都会调用js,有什么方法可以改进这个功能吗?塔斯我不需要手动把js在每个页面internet explorer 6,7,8上的javascript错误;是否为空或不是对象;,javascript,internet-explorer,Javascript,Internet Explorer,当我启动index.php时,它会调用包含以下代码的javascript文件: 当应用程序立即启动时,会出现以下错误: 这只能在internet Explorer上发生,index.php上没有“txtName”,因为。每个页面都会调用js,有什么方法可以改进这个功能吗?塔斯我不需要手动把js在每个页面 有人知道我该怎么解决这个问题吗?非常感谢…更新: 更新后的问题-您可以先测试元素 function focus(){ var txtNameObj = document.getEleme
有人知道我该怎么解决这个问题吗?非常感谢…更新: 更新后的问题-您可以先测试元素
function focus(){
var txtNameObj = document.getElementById('txtName');
if(txtNameObj){
txtNameObj.focus();
}
}
这样可以避免未定义的错误
原创
我只能猜测有两个问题中的一个:
a、 )您的DOM尚未加载(因此,即使该ID将存在,它也尚未加载)
b、 )您没有具有该ID的元素
如果该元素确实存在,请确保仅在确保加载该元素后调用focus函数。e、 g.您可以在主体关闭之前将其作为脚本标记放置
<script>
focus();
</script>
</body>
</html>
焦点();
更新:
更新后的问题-您可以先测试元素
function focus(){
var txtNameObj = document.getElementById('txtName');
if(txtNameObj){
txtNameObj.focus();
}
}
这样可以避免未定义的错误
原创
我只能猜测有两个问题中的一个:
a、 )您的DOM尚未加载(因此,即使该ID将存在,它也尚未加载)
b、 )您没有具有该ID的元素
如果该元素确实存在,请确保仅在确保加载该元素后调用focus函数。e、 g.您可以在主体关闭之前将其作为脚本标记放置
<script>
focus();
</script>
</body>
</html>
焦点();
为什么不为此方法设置一个条件:
在这种情况下:
var iId = document.getElementById('txtName');
if(iId != null)
{
// Processing
}
为什么不为此方法设置一个条件: 在这种情况下:
var iId = document.getElementById('txtName');
if(iId != null)
{
// Processing
}
这意味着IE找不到您的元素(id='txtName')。更多的代码(带有HTML标记)将帮助我们理解为什么我在原始文本中添加了问题的答案。这意味着IE找不到您的元素(id='txtName')。更多的代码(带有HTML标记)将帮助我们理解为什么我在原始文本中添加了问题的答案,因为脚本标记是同步执行的,或者是“阻塞”的,您也可以将脚本放在源中所需的元素之后。因为脚本标记是同步执行的,或者是“阻塞”的,您还可以将脚本放在源代码中所需的元素之后。