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>

现在,我默认定义了用户名->“sample”,默认定义了密码->“password”用于用户验证。

但是每当提交表单后再次重置而不执行验证功能!作为 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 回答