为什么不检查正确的值? (JavaScript / HTML)

时间:2019-04-21 20:31:25

标签: javascript html forms validation

这是我的代码:

<html>
<body>
<script type="text/javascript">
function CheckPwd()
{
 if(document.forms['frm'].pass.value == "magicisreal")
    {
      alert('Welcome, ADMIN...');
      return true;
    }
      return false;
}
</script>

Password:
<br>
<input type="password" name="pass">
<br><br>
<input type="submit" value="Continue" onclick="return CheckPwd()">

</body>
</html>

当在文本框中输入值“ magicisreal”时,应该返回警报。到底是什么原因导致我没有做这个结果?

3 个答案:

答案 0 :(得分:1)

首先,没有名为frm的形式。 因此,您正在检查的if语句无效。 使用以下代码片段实现您想要的目标:

<html>
<body>
<script type="text/javascript">
function CheckPwd()
{
var password = document.getElementById('pass-input').value;
console.log(password);
 if(password == "magicisreal")
    {
      alert('Welcome, ADMIN...');
      return true;
    }
      return false;
}
</script>

Password:
<br>
<input type="password"  id="pass-input" name="pass">
<br><br>
<input type="submit" value="Continue"  onclick="CheckPwd()">

</body>
</html>

答案 1 :(得分:0)

您缺少表格。试试这个-

<script type="text/javascript">
  function CheckPwd() {
    if (document.forms['frm'].pass.value == "magicisreal") {
      alert('Welcome, ADMIN...');
      return true;
    }
    return false;
  }
</script>

Password:
<br>
<form name="frm">
  <input type="password" name="pass">
  <br><br>
  <input type="submit" value="Continue" onclick="return CheckPwd()">
</form>

答案 2 :(得分:0)

您正在使用document.forms,它期望HTML中存在form,但尚未定义。 只需使用name=frm定义HTML表单即可。

function CheckPwd() {
    if(document.forms["frm"].pass.value == "magicisreal") {
        alert('Welcome, ADMIN...');
        return true;
    }

    return false;
}
<html>
    <body>
    <form name="frm" action="">
    Password:
    <br>
    <input type="password" name="pass">
    <br><br>
    <input type="submit" value="Continue" onclick="return CheckPwd()">
    </form>
    </body>
 </html>