1

基本的な申し込みフォームがあります。

<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()が呼び出されることはありません。

4

2 に答える 2

3

それはする必要があります

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

onkeydownについては、checkPassword()関数が実際に呼び出されていることを確認してください。alert()などを実行してもらいます。

于 2011-11-21T20:48:54.257 に答える
2

リターンを追加

onsubmit='return passwordCheck()'
于 2011-11-21T20:49:37.910 に答える