为什么不检查正确的值? (使用Javascript / HTML)

问题描述 投票:0回答:3

这是我的代码:

<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”输入文本框时,它应该返回一个警报。究竟是什么,我做错了不会导致这个结果?

javascript html forms validation
3个回答
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>

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>

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>
© www.soinside.com 2019 - 2024. All rights reserved.