0

我有一个简单的文本框:

<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 的属性“值”

4

2 回答 2

1

重命名您的函数。Submit可能是您浏览器中的保留字(尽管您的代码在中运行良好)

<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);
}

如果做不到这一点,请仔细检查您发布的代码实际上是错误的原因。

于 2013-03-03T02:50:16.500 回答
1

Internet Explorer做了一些非常令人沮丧的事情,称为“自动全局变量”。

页面上具有NAME属性或ID属性的每个元素都会自动分配为页面上的全局对象。

因此,您无意中发生了命名空间冲突,因为您的函数和按钮都称为“提交”。

尝试重命名您的按钮(和/或添加一个文档类型,告诉新版本的 IE 停止这样做!)

于 2013-03-03T03:02:28.053 回答