Javascript-简单登录重定向

Javascript-简单登录重定向,javascript,login,system,Javascript,Login,System,阅读了一些JavaScript教程,并尝试创建一个简单的登录系统。为此,我使用了以下代码。警报行正确执行,但重定向行似乎不会产生任何结果 问题:我如何才能让它工作?代码有什么问题 注意:我知道这不是一个安全的登录系统。我只需要它在满足不同条件时正确重定向 我还尝试了重定向行的不同语法(删除引号、括号等)。它们似乎都不起作用……以防这只是一个语法错误 代码: <form name="loginForm" onsubmit="loginCheck()" method="post">

阅读了一些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>




函数loginCheck(){ var usr=document.loginForm.userName.value; var psw=document.loginForm.passWord.value; var username=“admin”; var password=“admin”; 如果((usr==用户名)和&(psw=密码)){ 警报(“真实信息”); window.location.href(“http://www.google.com"); 返回true; } 否则{ 警报(“虚假信息”); window.location.href(“http://www.google.com"); 返回false; } }
有三个问题:

  • href
    是一个字符串,而不是函数,因此将其作为函数调用将抛出except并中止脚本
  • 您没有从事件处理程序返回
    false
    ,因此表单将提交并覆盖您对
    location
  • 您有一个任务,您正在尝试执行比较
  • 要解决此问题,请执行以下操作:

  • 为位置分配一个值:
    location=”http://www.google.com/";
  • 从事件处理程序返回:
    onsubmit=“Return loginCheck();”
  • 注意使用
    =
    ==
    的位置

  • 请注意,内在事件属性是我们在90年代编写JavaScript的方式。编码实践已经改进,我们现在可以使用

    函数登录检查(事件){
    var usr=this.elements.userName.value;
    var psw=this.elements.passWord.value;
    var username=“admin”;
    var password=“admin”;
    如果((usr==用户名)和&(psw==密码)){
    警报(“真实信息-提交表格”);
    }否则{
    警报(“虚假信息-进入谷歌”);
    位置=”http://www.google.com";
    event.preventDefault();
    }
    }
    document.getElementById('loginForm')。addEventListener('submit',loginCheck)
    
    
    



    以下是一个问题:

    if ((usr==username) && (psw=password)) {
    
    注意单=符号吗?这意味着您正在分配,而不是比较

    if ((usr==username) && (psw==password)) {
    
    切换到上面,然后看看它是否有效。

    只需使用:

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

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

    请尝试window.location.href=“”;非常感谢。我没注意到,没问题。你用的是什么IDE?我想那应该是记事本吧?哈哈,好吧,我这么问是因为如果你使用像Visual Studio或Netbeans这样的IDE,它会发现这些错误,让你的生活更轻松:谢谢,听起来很有逻辑:)通过你的帖子(和链接)学到了很多信息。由于对这个主题太陌生,我的磷储量已经耗尽。休息一下,我会回到主题:)顺便说一句,非常感谢。