Javascript window.open有效,但window.location没有

时间:2017-04-16 21:54:05

标签: javascript window.open

我在一个简单的登录页面上工作。当用户输入正确的用户名和密码时,它会将其重定向到另一个页面。到目前为止,我已经尝试过:

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;)看看其他人怎么做不做。 使用其他控件时,我也不会在控制台中出现任何错误。

2 个答案:

答案 0 :(得分:0)

看起来问题出在表单标签上。如果我删除表单标签,一切都会按预期开始工作。

答案 1 :(得分:-1)

您需要做的就是将window.location设置为新网址。

document.querySelector("button").addEventListener("click", function(){
  window.location = "http://cnn.com";
});
<button>Click Me</button>