我有一个简单的文本框:
<input type="text" id="username" /><br />
<input type="button" id="Submit" value="Submit" onclick="Submit()" />
该功能定义为:
function Submit() {
var username = document.getElementById("username").value;
alert("Welcome " + username);
}
为什么我会收到以下错误?
无法读取null
的属性'value'
答案 0 :(得分:1)
重命名您的功能。 Submit
可能是您浏览器中的保留字(尽管您的代码在google-chrome中运行良好)
<input type="text" id="username" /><br />
<input type="button" id="Submit" value="Submit" onclick="mySubmit()" />
function mySubmit() {
var username = document.getElementById("username").value;
alert("Welcome " + username);
}
如果不这样做,请仔细检查您发布的代码实际上是错误的原因。
答案 1 :(得分:1)
Internet Explorer 做了一些非常令人沮丧的事情,称为“自动全局”。
页面上包含 NAME 属性或 ID 属性的每个元素都会自动指定为页面上的全局对象。
因此,您无意中发生了名称空间冲突,因为您的函数和按钮都被称为“提交”。
尝试重命名您的按钮(和/或添加一个doctype,告诉IE的新版本停止这样做!)