繁体   English   中英

Javascript function 无法登录

[英]Javascript function not working for login

我正在尝试创建一个非常简单的登录表单,该表单需要用户输入密码和用户名。 如果用户没有输入用户名或密码,那么我希望弹出一个警报,通知用户他需要输入用户名或密码,并且页面将不会继续进入欢迎页面。 但是这不起作用......我没有弹出任何警报,并且在我点击“登录”后我被自动重定向到欢迎页面,我只是不明白问题是什么。 任何帮助将不胜感激,并在此先感谢您。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
<script type = "text/javascript">

    function login()
        {
        var username = document.getElementById("name");
            var password = document.getElementById("pass");

        if (username.value.trim() == "")
            {
            alert ("please enter a username or password");
            return false;
            }
        else if (password.value.trim() == "")
            {
            alert ("please enter a password");
            return false;

        else
            {
            true;
            }
        }

</script>
</head>

<body>
    <form onsubmit = "return validate()" action = "welcome.html">
    <input id= "name" placeholder= "Username" type= "text"/><br><br>
    <input id= "pass" placeholder= "Password" type= "password"/><br><br>
    <button type = "submit">SIGN IN</button>
    </form>

</body>
</html>

问题是在表单上的 onsubmit 事件中,您返回的是“ validate() ”,这不是真正的 function。

相反,将 onsubmit 属性中的该位替换为onsubmit="return login()" ,因为这似乎是您对 validate function 的替换。

其次,在登录 function 本身中,对于大多数浏览器,您还需要在return false之前调用event.preventDefault() (或者可能代替)。 另外,登录function中缺少一个} ,也导致了错误。

固定代码应该是

 function login() { var username = document.getElementById("name"); var password = document.getElementById("pass"); if (username.value.trim() == "") { alert ("please enter a username or password"); event.preventDefault(); return false; } else if (password.value.trim() == "") { alert ("please enter a password"); event.preventDefault(); return false; } else//this part is also completely extraneous,there's no reason to have it, it should work the same either way { true; } }
 <.doctype html> <html> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <form onsubmit = "return login()" action = "welcome.html"> <input id= "name" placeholder= "Username" type= "text"/><br><br> <input id= "pass" placeholder= "Password" type= "password"/><br><br> <button type = "submit">SIGN IN</button> </form> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM