Javascript |简单的表单验证不会工作

时间:2016-10-29 18:22:11

标签: javascript forms validation

我一直在努力进行这个非常简单的登录,我想要做的就是说,如果密码是" apple"和密码是" 123"然后在我点击提交按钮时将我链接到另一个页面。

我放弃了提交按钮链接部分,但我仍然不明白为什么我的代码无法注册,一切看起来都对我

<!DOCTYPE html>
<html>

<body>
    <form name="loginForm">
        <input type="text" name="username" placeholder="Username" value=""/>
        <input type="password" name="password" placeholder="Password" value=""/>
        <input type="button" name="submit" value="Login" onclick="validate()" />
    </form>

    <script type="text/javascript">
        function validate() {

            var user = document.loginForm.username.value;
            return user;
            var pass = document.loginForm.password.value;
            return pass;

            if ( (user=="apple") && (pass=="123") ) {
                document.write("It worked");
            } else {
                document.write("Wrong Password");
            }
        }
    </script>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

建议:

  • return关键字将退出该函数,因此返回后的代码将无法访问。要删除两个' return '语句是第一步。
  • document.write将在加载文档后清除页面。您可能需要提醒功能
  • 尝试使用document.getElementById / getElementByName(这是更好的)而不是document.loginForm ...
  • 最好将onsubmit放在表单标记中(单击type = submit按钮后触发),而不是 onclick event for button。
  • 最好将Javascript放在HTML head 标记内。

下面是一个更好/工作的版本:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        function validate() {
            var user = document.getElementById("username").value;
            var pass = document.getElementById("password").value;
            if ( (user=="apple") && (pass=="123") ) {
                alert("It worked");
                return true;
            } else {
                alert("Wrong password");
                return false;
            }
        }
    </script>
</head>
<body>
    <form action="" onsubmit='javascript:return validate()'>
        <input type="text" id="username" placeholder="Username" value=""/>
        <input type="password" id="password" placeholder="Password" value=""/>
        <input type="submit" value="Login" />
    </form>
</body>

</html>