为什么此代码不检查密码的有效性?

问题描述 投票:0回答:1
javascript html css
1个回答
0
投票

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。

参考文献

© www.soinside.com 2019 - 2024. All rights reserved.