JS窗口.位置不起作用
JS window.location not working
My 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 = '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 只读属性返回一个 Location 对象,其中包含有关文档当前位置的信息。
MDN on window.location
试试这个: window.location.replace("http://stackoverflow.com");
这是一个工作代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title> Login Redirection Test</title>
<script>
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?");
}
}
</script>
</head>
<body>
<div class="login" style="position:relative;top:200px;">
<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'></script> -->
</div>
</body>
</html>
Window.location 不是一个函数,它是一个刚刚读取的属性。然而
window.location.assign
可能会更好。
相关文章:
- 使用绝对位置时,jQuery向左滚动不起作用
- JS窗口.位置不起作用
- 铬移动;导航.地理位置不起作用
- 当我将位置更改为绝对时,画布精灵表和触摸事件不起作用
- JQuery Mobile单击事件不起作用,具体取决于HTML中的元素位置
- 为什么我的删除位置语句不起作用
- Sencha触摸地理位置在设备上(iPhone 5)上2-3次后获取当前位置不起作用
- JQuery 插件在单个页面的多个位置使用时不起作用
- 精灵图像的背景位置在 IE 中不起作用,用于倒计时时钟
- 地理位置脚本不起作用
- 窗口.插入SQLite后的位置不起作用
- 我的地理位置(javascript)不起作用,我不知道为什么
- 地理位置在 Phonegap 中不起作用
- 在我的情况下,获取滚动 y 位置不起作用
- 三.js将盒子旋转到鼠标位置不起作用
- 带有偏移的对话框位置似乎不起作用
- CSS 固定位置在 chrome 中不起作用
- Jquery 在后台位置上动画不起作用
- 将标记放在OpenLayers中的地理位置 - 不起作用
- PHP 标头位置在脚本中不起作用