我在一个简单的登录页面上工作。当用户输入正确的用户名和密码时,它会将其重定向到另一个页面。到目前为止,我已经尝试过:
window.location , window.location.replace window.href 和 window.open 唯一一个它的工作原理是 window.open ,但是我试图制作它是因为它不会打开一个新的标签,它只是将它们重定向到另一个页面。
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="master.css">
<title>Day Four</title>
</head>
<body>
<h1>Log In</h1>
<form onsubmit="valid()">
<label for="username">Username:</label>
<input id = 'user-name' type="text" name="" value="" required>
<label for="password">Password:</label>
<input id = 'pass-word' type="password" name="" value="" required>
<input id = 'log-in'type="submit" name="" value="Log In">
</form>
</div>
</body>
<script src="mainJs.js" charset="utf-8"></script>
</html>
JS
function valid(){
var username = document.querySelector('#user-name').value;
var password = document.querySelector('#pass-word').value;
if(username === 'test' && password === '1'){
window.open("gradebook.html")
}else{
alert("Wrong username or password")
}
}
编辑:我知道它不安全。我把代码运行window.open(&#34; gradebook.html&#34;)看看其他人怎么做不做。 使用其他控件时,我也不会在控制台中出现任何错误。
答案 0 :(得分:0)
看起来问题出在表单标签上。如果我删除表单标签,一切都会按预期开始工作。
答案 1 :(得分:-1)
您需要做的就是将window.location
设置为新网址。
document.querySelector("button").addEventListener("click", function(){
window.location = "http://cnn.com";
});
<button>Click Me</button>