1

私は Java Script が初めてで、最近静的パスワード保護を実装するための JS のプログラムを入手しました。

これが私のコードです:

<html>
    <head>
    <title>
    User Validation  : 2nd Program
    </title>

    <script "javascript">

    function validate()
    {
    alert(form.username.value)
    alert(document.getelementbyId(username).value);
    alert(form.password.value)
        if(form.username.value == "sample" && form.password.value =="password")
            {
                alert("User Validated ");
                continue();
            }
        else
            {
                alert("Incorrect Username or Password" );
            }

    }
    </script>
    </head>

    <body>
    <text align=center>
    <form name="form" onsubmit="validate()">
    Username <input type="text" name="username" />
    <br />
    <br />
    Password <input type="password" name="password" maxlength=10 />

    <input type="submit" />
    </form>
    </text>
    </body>

ここで、ユーザー検証のために、デフォルトでユーザー名->「サンプル」とパスワード->「パスワード」を定義しました。

しかし、フォームを送信した後はいつでも、検証機能を実行せずに再びリセットされます! JS は初めてなので、ばかげた間違いを無視してください。

また、JS と JSP をゼロから学習するのに最適な書籍をいくつか提案してください。

4

1 に答える 1

2

に変更onsubmit="validate()"onsubmit="return validate();"ます。

この方法では、validate が false を返すと、フォームは送信されません。また、フォームが検証されない場合に false を返すように検証関数を変更する必要があります。結果のコードは次のようになります。

function validate()
    {
    alert(form.username.value)
    alert(document.getelementbyId(username).value);
    alert(form.password.value)
        if(form.username.value == "sample" && form.password.value =="password")
            {
                alert("User Validated ");
                return true;
            }
        else
            {
                alert("Incorrect Username or Password" );
                return false;
            }

    }

更新: 続行と中断の図解。

while(true) {
    // :loopStart
    var randomNumber = Math.random();
    if (randomNumber < .5) {
        continue; //skips the rest of the code and goes back to :loopStart
    }
    if (randomNumber >= .6) {
        break; //exits the while loop (resumes execution at :loopEnd)
    }
    alert('value is between .5 and .6');
}
// :loopEnd

念のため、:loopStart と :loopEnd は特別な識別子などではなく、コードをよりよくトレースするための単なるコメントです。

于 2013-09-26T19:14:15.120 に答える