Я понятия не имею, почему это не работает. Я видел подобные проблемы на так, но они не решить проблемуUncaught TypeError: Не удается прочитать свойство 'addEventListener'
Это 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)
Он нацелен на слушатель действий я установил для кнопки, но я понятия не имею, как это исправить.
В вашем HTML не содержится элемента с идентификатором «login», поэтому '.getElementById()' возвращает 'null'. – Pointy
['getElementById()'] (https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById) ищет элемент с соответствующим атрибутом '' id' '(https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id), а не 'имя'. –