首页 > 解决方案 > 关闭警告框后如何重定向页面?

问题描述

我一直试图告诉浏览器在关闭警报框后将用户重定向到不同的位置,但我尝试过的方法似乎都不起作用,所以我问你是否可以检查我的代码并告诉如果您看到满足我需求的可能解决方案,请联系我。这段代码只是一个练习,我正在练习和测试javascript。

到目前为止,我已经尝试过使用这些,但没有任何效果。

window.location.href(); 
window.location.replace(); 
window.location.assign(); 
location.href(); 
location.replace(); 
location.assign();

HTML 代码:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="javascript.js"></script>
</head>
<body>
<div id="container" align="center"><br />
<form>
Nickname: <input type="text" id="nickname" name="nickname"><br />
Password: <input type="password" id="password" name="password"><br />
<button onclick="login();">Login</button>
</form>
<p id="result:"></p><br />
</div>
</body>
</html>

Javascript代码:

function login(){
    var nickname = document.getElementById("nickname").value;
    var password = document.getElementById("password").value;
    var result = document.getElementById("result");
    var error = "Invalid Credentials!";
    var sucess = "Login Sucess!";

    if (nickname == "neo", password == 123){
        alert(sucess);
        location.assign("welcome.html");
    }
    else if(nickname == 22){
        confirm("Awesome!");
        location.replace("welcome.html");
    }
    else if(nickname == ""){
        alert("Nickname is required!");
    }
    else{
        alert(error);
    }
}

标签: javascripthtmlif-statementalert

解决方案


您应该将其window.location.href用作分配(使用=)而不是将其视为函数(使用()):

if (nickname == "neo", password == 123){
    alert(sucess);
    window.location.href = "welcome.html";
}
else if(nickname == 22){
    confirm("Awesome!");
    window.location.href = "welcome.html";
}

希望这会有所帮助!


推荐阅读