JS window.location不工作
我的window.location不会将页面重定向到所需的位置。 与window.open相同的代码有效。 当用户名和密码不正确时,else语句也会执行。 当输入正确的用户名和密码时,它只刷新同一页面。
<div class="login" style="position:relative;top:200px;">
<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>
<!--<script type='text/javascript' src='alumna.json'></script> -->
</div>
window.location
是一个只读属性:
Window.location只读属性返回一个Location对象,其中包含有关文档当前位置的信息。
在window.location上的MDN
试试这个: window.location.replace("http://stackoverflow.com");
你也可以尝试
window.location = 'http://www.yoururl.com/alumni.html';
或直接
window.location = 'alumni.html';
这里有一个很好的关于javascript中重定向的问题:我如何使用Javascript重定向?
[编辑#1]
虽然我认为这不是主要问题。 我相信你无法验证你正在做这件事的方式。 在表单中有一个名为action
的属性,详见http://www.w3schools.com/tags/att_form_action.asp
然后在加载的页面中,验证参数并确定其是否正确,如果其右侧重定向到一页,如果错误则重定向到另一页。
或者你也可以加载页面,如果验证是正确的,留在页面中,如果错误重定向到登录页面。
这是做到这一点的一种方式,可能还有另一种更好。
[编辑#2]
我个人会做的是在PHP页面中处理表单,这更容易和简单。 可能是这样的:
在HTML中:
<div class="login" style="position:relative;top:200px;">
<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'></script> -->
</div>
在PHP页面中:
$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
}
Window.location不是一个函数,它是一个刚刚读取的属性。 然而,
window.location.assign
可能会更好。
链接地址: http://www.djcxy.com/p/34737.html