gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'addEventListener'

转载 作者:行者123 更新时间:2023-11-30 10:06:17 25 4
gpt4 key购买 nike

我不知道为什么这不起作用。我在 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");
}
}

我必须让页面在匹配设置的登录名和密码时删除登录以删除表单并显示欢迎消息。当我打开页面并进入控制台时,出现以下错误

Uncaught TypeError: Cannot read property 'addEventListener' of nullquestion_2.js:4 (anonymous function)

它针对我为按钮设置的 Action 监听器,但我不知道如何解决这个问题。

最佳答案

好吧,您没有 ID 为“login”的元素。这就是提交为空的原因。

你应该给出输入:

<input type="button" name="login" value="Login" />

适当的ID。还有一点:

if(submit!="null")

我假设您想根据实际值检查“提交”:null,而不是字符串“null”。您应该按如下方式编写您的 if 语句:

if(submit!==null)

通过这种方式,您可以针对空对象检查提交,并且类型安全,这意味着如果 sumbit 不为空,但由于某些未定义的奇怪原因,您仍然会进行正确的检查。阅读Steve Johnsons Blog Post关于 undefined 与 null,如果这对您来说是新的。

关于javascript - 未捕获的类型错误 : Cannot read property 'addEventListener' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28965395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com