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

时间:2015-01-30 00:25:14

标签: javascript internet-explorer internet-explorer-8

我在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();
}

3 个答案:

答案 0 :(得分:1)

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

将其放在<body>的末尾,或使用window.onload

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我认为问题出在这一行:

itemText = inItemText.value;

您需要将“inItemText”声明为变量。

或许将其替换为:

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