checkValidity
是现有方法,因此它是保留字。这就是你的函数没有运行的原因。所以有两种解决方案:一种有效,另一种更好。
第一个只是重命名你的函数。瞧。
第二个是这样的:避免通过内联属性赋值来处理事件,而使用
addEventListener
来代替。它有几个优点(参见参考资料)。以下代码完美运行:
const pass = '2207'
const button = Array.from(document.getElementsByTagName("button"))[0];
button.addEventListener("click", checkValidity);
function checkValidity() {
const pass_code = document.getElementById("passcode").value;
if (pass_code == pass){
alert("Correct Passcode!");
}
else{
alert("Wrong Passcode!");
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
</head>
<body style="background-color: rgb(0, 255, 195); text-align: center">
<div id="display">
<p style="color:black">Enter your Passcode:</p>
<input id="passcode" type = "password">
<button>Enter↵</button>
</div>
<script src = "script.js"></script>
</body>
</html>
P.S. 还要避免内联样式,而使用内部/外部CSS。