正在阅读一些JavaScript教程,并试图制作一个简单的登录系统。 为此,我使用了以下代码。 警报行正确执行,但重定向行似乎未产生任何结果。

问题:如何使它起作用? 代码有什么问题?

注意:我知道这不是安全的登录系统。 当满足不同条件时,我只需要它即可正确重定向。

我还尝试了重定向行的不同语法(删除引号,括号等)。 它们似乎都不起作用……以防万一这只是语法错误。

码:

<form name="loginForm" onsubmit="loginCheck()" method="post">
    <input type="text" name="userName"><br>
    <input type="text" name="passWord"><br><br>
    <input type="submit" value="Login">
</form>

<script>
function loginCheck() {
    var usr=document.loginForm.userName.value;
    var psw=document.loginForm.passWord.value;
    var username="admin";
    var password="admin";
    if ((usr==username) && (psw=password)) {
        alert ("True Info");
        window.location.href ("http://www.google.com");
        return true;
    }
    else {
        alert ("False Info");
        window.location.href ("http://www.google.com");
        return false;
    }
}
</script>

#1楼 票数:1

存在三个问题:

  1. href是一个字符串,而不是一个函数,因此将其作为函数调用将抛出一个exception并且中止脚本
  2. 您不会从事件处理程序中返回false ,因此表单将提交并覆盖您对location所做的所有操作
  3. 您有一个作业要尝试进行比较

要解决此问题:

  1. 为location 分配一个值: location = "http://www.google.com/";
  2. 从事件处理程序返回: onsubmit="return loginCheck();"
  3. 注意在哪里使用===

请注意,固有事件属性是我们在90年代编写JavaScript的方式。 编码实践已得到改进,现在我们可以使用不引人注目的JavaScript分离问题

 function loginCheck(event) { var usr = this.elements.userName.value; var psw = this.elements.passWord.value; var username = "admin"; var password = "admin"; if ((usr == username) && (psw == password)) { alert("True Info - submitting form"); } else { alert("False Info - going to Google"); location = "http://www.google.com"; event.preventDefault(); } } document.getElementById('loginForm').addEventListener('submit', loginCheck); 
 <form id="loginForm" method="post"> <input type="text" name="userName"> <br> <input type="text" name="passWord"> <br> <br> <input type="submit" value="Login"> </form> 


另外,请注意,尝试完全在客户端进行身份验证是愚蠢的事情。 它可以用作基本事件处理的示例,但切勿实际尝试。

#2楼 票数:0

这是一个问题:

if ((usr==username) && (psw=password)) {

注意单=符号吗? 这意味着您正在分配而不是进行比较。

if ((usr==username) && (psw==password)) {

更改为上述内容,然后查看是否可行。

#3楼 票数:0

只需使用:

window.location.href = "http://www.google.com";

它是一个对象,而不是一个函数。

  ask by Onur Yurdupak translate from so

未解决问题?本站智能推荐:

3回复

如何在Javascript中制作登录系统?

我正在尝试用 javascript 制作一个简单的登录系统。 代码应该适用于多个用户例如:user: love pass: cat, user2: mom pass2: love 等等。 我需要将用户重定向到某些页面的代码,例如,如果用户名文本框包含文本 LOVE 并且 pass 是 cat 那么用
1回复

php登录系统中的重定向错误

所以我做了一个简单的登录页面,但是我在index.php页面上遇到了问题。 它给了我一个重定向错误。 我是php编码的新手。 希望有人可以帮助我。 不管怎么说,还是要谢谢你!
9回复

如何用java编写一个非常简单的登录系统

我需要创建一个系统来检查文件中的用户名和密码,如果正确,它会说明是否在标签中。 到目前为止,我已经能够简单地使一个用户名和密码等于变量,但需要以某种方式将其链接到一个文件。 我是一个菜鸟程序员,所以非常感谢你的帮助。 这是我的身份验证按钮下的内容。
4回复

PHP简单登录系统-500错误

因此,我正在制作一个SQL登录系统,我想我会从一些简单的事情开始,例如使用IF来检查用户名和密码,然后将您返回到主索引,并在其中添加一个问候语。右上。 我做了所有这些工作,并且从我所看到的应该可以正常工作,但是当我提交登录表单时,服务器抛出HTTP Error 500 (Internal S
1回复

如何创建一个简单的登录/帐户系统?

(输入)用户名。 密码比利。 1234托尼。 5653 (输出)用户名是什么? Billy授予的1234访问密码是什么 如何创建具有用户名和密码的输入数据,然后如何重置屏幕并说(欢迎使用“用户名”) 谢谢
1回复

会员登录问题

我在实现会员登录到我的图书馆系统时遇到问题。 这是我的代码,这是我在主系统上的代码。 这是成员类的代码... } 这是我的StudentSignUp类的代码... }
1回复

JavaMySQL登录系统

我目前正在与SixthSense团队一起创建一个应用程序,我想知道如何处理一种形式,即用户登录并用Java与MySQL服务器通信,然后与数据库响应通信,打开包含该用户信息的页面页面 我正在使用Java 7 谢谢, 詹姆士 编辑:输入用户名/密码连接到MySQL服务器检查凭据打开页
1回复

WPF登录系统

我正在用wpf开发培训软件。 但是我有问题。 此应用程序将是安装项目。 当用户使它工作时,将打开一个登录窗口。 用户应输入他的用户名。将没有密码。 但是问题是下一个; 我不知道如何从数据库获取用户ID。 并比较其他用户名以获得正确的用户名。 第二个问题是,当我从数据库中获取