Internet Explorer 8 错误,需要对象 (JavaScript)

Internet Explorer 8 error, Object Required (JavaScript)

我在 chrome 中写了一个待办事项,效果很好。我在IE8下测试过,没用。于是我新建了一个文件专门写在IE8中,连一个简单的功能都无法正常运行。我想帮助找出我做错了什么。感谢任何能在这方面教我的人。

HTML

<body>
<p>Home</p>
<form id="form1">
<input type="text" id="inItemText" />
</form>
<button id="btn1" onclick="doIt()">Press Here</button>
<p id="p1"></p>
</body>

Javascript

var inItemText = document.getElementById("inItemText");
function doIt() {
var itemText;
itemText = inItemText.value;
document.getElementById("p1").innerHTML = itemText;
form1.reset();
}

您收到该错误是因为 inItemText 未定义。使用 document.getElementById('inItemText')

我认为问题出在这一行:

itemText = inItemText.value;

您需要将 "inItemText" 声明为变量。

也许替换为:

itemText = document.getElementById("inItemText").value

确保在 DOM 加载后执行 inItemText 分配。否则,document.getElementById("inItemText") 将找不到该元素,因为它还不存在。

要么放在<body>的末尾,要么用window.onload:

var inItemText;
window.onload = function() {
    inItemText = document.getElementById("inItemText");
};