JavaScript 语法错误

标签 javascript html ajax dom xmlhttprequest

当我运行下面的代码时,Safari 的调试控制台告诉我:

TypeError: Result of expression 'document.getElementById("txtHint")' [null] is not an object.

它似乎在这一行抛出错误:

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

代码

 function showItem(str)
{
if (str.length==0)
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200 && xmlhttp.responseText!='')
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getitem.php?q="+str,true);
xmlhttp.send();
}

我不确定为什么会抛出这个错误。绝对存在 ID 为“txtHint”的 DIV,但 safari 似乎无法正确运行此代码。我想我的问题是,这段代码有什么问题。

最佳答案

这不是一个重复的问题吗?无论如何,尝试在结束主体标记之前抛出脚本或在 dom 准备好/窗口加载之后调用该函数。

关于JavaScript 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4171199/

相关文章:

javascript - 使用 for 循环反转数组

Javascript for 循环返回键 "indexof"

jquery - 使用ajax更新页面数据

php - 加载 WordPress 帖子而不使用 get_header() 和 get_footer()

javascript - 如果输入有带有文本缩进的隐藏文本,jquery 滚动鼠标滚轮

html - 脚注列表和内容的语义元素

html - 如何通过电子邮件模板禁用暗模式

android - 如何通过网站在 Android 上使用分机号码调用 HTML 电话?

php - Jquery Ajax 和 php 类

javascript - d3.js 树状图新数据不渲染