【发布时间】:2015-05-11 23:45:22
【问题描述】:
我不知道为什么这不起作用。我在so上看到过类似的问题,但他们没有解决问题
这是 HTML 代码
<html>
<head>
<meta charset="utf-8" />
<title>Java Script 2</title>
</head>
<body>
<div id="loginForm">
<form name="userLogin">
<input type="text" name="userName" />
<input type="password" name="userPass" />
<input type="button" name="login" value="Login" />
</div>
<script src = "question_2.js"></script>
</form>
</div>
</body>
</html>
这就是 JavaScript
var submit = document.getElementById("login");
if(submit!="null"){
submit.addEventListener("click",getLogin);
}
function getLogin(){
var nameData = "admin";
var passData = "admin";
var userName = document.userLogin.userName.value;
var pass = document.userLogin.userPass.value;
if(userName.compareTo(nameData) && pass.compareTo(passData)){
replace.textContent("Hello there " + nameData);
}
else{
document.write("Try again");
}
}
当页面与设置的登录名和密码匹配时,我必须使页面从登录中删除,以删除表单并显示欢迎消息。当我打开页面并进入控制台时,出现以下错误
未捕获的类型错误:无法读取属性“addEventListener” nullquestion_2.js:4(匿名函数)
它针对的是我为按钮设置的动作监听器,但我不知道如何解决这个问题。
【问题讨论】:
-
您的 HTML 中没有 ID 为“login”的元素,因此
.getElementById()返回null。 -
getElementById()查找与idattribute 匹配的元素,而不是name。
标签: javascript html typeerror