繁体   English   中英

我的页面不会使用 function 重定向到 url

[英]My page wont redirect to url using a function

所以我有一个项目,它需要一个示例登录页面,使用它可以工作,但现在它没有在 If 语句中打开 url

function validate() {
    var usern = document.getElementById("userIn").value;
    var passw = document.getElementById("passIn").value;
    var position = -1;

    var usernArray = ["User1", "User2"];
    var passwArray = ["Pass1", "Pass2"];

    for (var i=0; i <usernArray.length; i++) {
        if ((usern == usernArray[i]) && (passw == passwArray[i])) {
            position = i;
            break;
        }
    }

    if (position != -1) 
    {
        alert("Login Was Successful!, You are being redirected to the homepage");
        window.location.href = 'home.html';
    }
    else 
    {
        alert("Invalid Username and/or Password! Please try again.")
    }
}

你能试试这个window.location.href=/home.html所以它是相对于当前域的。 或者您可以尝试使用 window.location.replace 代替 href。

您可以通过将属性添加到表单上的按钮来解决此问题: type="button"

<button type="button" onclick="validate()">Login</button>

并且您的代码将完美运行,但请注意您还需要考虑提交的表单(通过按键盘上的Enter按钮)。 也许尝试将您的代码更改为:

<script>
    $('#form').on('submit', function(e) {
        var usern = document.getElementById("userIn").value;
        var passw = document.getElementById("passIn").value;
        var position = -1;

        var usernArray = ["User1", "User2"];
        var passwArray = ["Pass1", "Pass2"];

        for (var i=0; i <usernArray.length; i++) {
            if ((usern == usernArray[i]) && (passw == passwArray[i])) {
                position = i;
                break;
            }
        }

        if (position != -1)
        {
            alert("Login Was Successful!, You are being redirected to the homepage");
            window.location.href = 'home.html';
        }
        else
        {
            alert("Invalid Username and/or Password! Please try again.")
        }

        e.preventDefault();
        return false;
    });
</script>

并将 type 属性设置为您的按钮以提交

暂无
暂无

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

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