JS window.location not working
我的window.location不会将页面重定向到所需位置。与window.open的代码相同。当用户名和密码不正确时,还会执行else语句。当输入正确的用户名和密码时,它只刷新同一页。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <form name="login" method="post"> <p align="middle">Please login to continue </p><p align="middle"><input type="text" name="login" placeholder="Username"> </p> <p align="middle"><input type="password" name="pwd" placeholder="Password"> </p> <p class="submit" align="middle"><input type="submit" onclick ="return check(this.form)" value="Login" name="commit"> </p> </form> <script language="javascript"> function check(form) { if(form.login.value =="admin" && form.pwd.value =="sysadmin") { window.location('alumni.html'); } else { alert("Ten thousand thundering typhoons! What is the blasted password?"); } } <!--<script type='text/javascript' src='alumna.json'> --> |
你也可以试试
1 | window.location = 'http://www.yoururl.com/alumni.html'; |
或直接
1 | window.location = 'alumni.html'; |
这里有一个关于在javascript中重定向的好问题:如何使用javascript重定向?
【编辑> 1】
虽然我认为这不是主要问题。我相信你不能证实你的做法。表单中有一个名为
然后,在加载的页面中,验证参数并决定其正确与否,在哪里重定向到一个页面(如果正确),或者重定向到另一个页面(如果错误)。
或者您也可以加载页面,如果验证正确,请留在页面中,如果验证错误,请重定向到登录页面。
这是一种方法,可能还有更好的方法。
【编辑> 2】
我个人要做的是在一个PHP页面中处理表单,这非常简单和简单。可以像:
在HTML中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form name="login" action="myPhpPage.php" method="post"> <p align="middle">Please login to continue </p> <p align="middle"><input type="text" name="login" placeholder="Username"> </p> <p align="middle"><input type="password" name="pwd" placeholder="Password"> </p> <p class="submit" align="middle"> <input type="submit" onclick ="" value="Login" name="commit"> </p> </form> <!--<script type='text/javascript' src='alumna.json'> --> |
在php页面中:
1 2 3 4 5 6 7 8 | $name = $_POST['login']; // it's $_post because you are sending the form with method = post $pass = $_POST['pwd']; if($name =="admin" && $pass =="sysadmin"){ //go to one page or stay here } else{ // redirect to another page } |
以下是工作代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> Login Redirection Test function validateForm() { var un = document.forms["login"]["user"].value; var pw = document.forms["login"]["pwd"].value; if (un =="admin" && pw=="sysadmin") { window.location.assign="https://stackoverflow.com"; return false; }else { alert("Ten thousand thundering typhoons! What is the blasted password?"); } } </head> <body> <form name="login" onsubmit="return validateForm()" method="post"> <p align="middle">Please login to continue </p><p align="middle"><input type="text" name="user" placeholder="Username"> </p> <p align="middle"><input type="password" name="pwd" placeholder="Password"> </p> <p class="submit" align="middle"><input type="submit" onclick ="return check(this.form)" value="Login" name="commit"> </p> </form> <!--<script type='text/javascript' src='alumna.json'> --> </body> </html> |
The Window.location read-only property returns a Location object with information about the current location of the document.
窗口上的MDN。位置
试试这个:
window.location不是函数,它是一个刚刚读取的属性。然而,
1 | window.location.assign |
可能会更好。