检查密码是否提交

时间:2011-11-21 20:46:25

标签: javascript forms passwords onsubmit

我有一个基本的注册表单:

<form action="adduser" method="post" onsubmit='passwordCheck()'>
    Email Address: <input type="email" name="email" required autocomplete="on" placeholder="fr@star.com"/><br/>
    Username: <input type="text" name="username" maxlength=25 required placeholder="JoyfulSophia"/><br/>
    Password: <input type="password" name="password" id='password' onkeydown='checkPassword()' maxlength=30 required placeholder="**********" />
    Password (Again): <input type='password' id='pass_repeat'/>
    <br/>
    <br/>
    <input type="submit" value="Send" /> <input type="reset">
</form>

因此,当提交表单时,它会调用passwordCheck(),它会根据容易猜到的密码进行测试,而不是重复相同的密码等。它会将错误(如果有)放入<p>(未显示) 。 checkPassword()有效并且错误显示正确,但是表单仍然提交,而我读过的JS文档说如果onsubmit返回false,表单不应该提交。

为什么在checkPassword()返回false时提交表单?此外,密码输入中的每次击键都没有调用checkPassword()。

2 个答案:

答案 0 :(得分:3)

需要

<form ... onsubmit="return passwordCheck();">

对于onkeydown,检查你的checkPassword()函数是否实际被调用。让它做一个警报()或类似的东西。

答案 1 :(得分:2)

添加回复

onsubmit='return passwordCheck()'