繁体   English   中英

不重定向到页面

[英]Not redirecting to the page

如果登录凭据正确,我将尝试重定向到页面。 但它不起作用。 如果凭据错误,如何重定向页面并避免提交时刷新页面。 当我不填写表格并提交时,它会重定向。 但是当我填写表格时却没有。

 var db = window.localStorage; function login(){ var loginFormDt = document.querySelector('#login-form'); var logEmail = loginFormDt.querySelector('input[type="email"]'); var logPass = loginFormDt.querySelector('input[type="password"]'); if(db.email == logEmail.value && db.password == logPass.value){ window.location.replace = 'http://www.google.com'; }else{ window.location.replace = 'http://www.bing.com' } } function signUp () { var signupFormDt = document.querySelector('#signup-form'); var email = signupFormDt.querySelector('input[name="email"]'); var password = signupFormDt.querySelector('input[name="password"]'); var userName = signupFormDt.querySelector('input[name="name"]'); db.setItem(userName.name, userName.value); db.setItem(email.name, email.value); db.setItem(password.name, password.value); } 
 <section> <h3>login Page</h3> <div id="login"> <p><a href="../html/index.html" title="link to home page">Myselfie Tech</a></p> <form method="Post" id="login-form"> <p> <input type="email" name="email" id="email" placeholder="email" required> </p> <p> <input type="password" name="password" id="password" placeholder="password" required> </p> <p> <button type="submit" onclick="login()">Submit Query</button> </p> <p> <button onclick="window.location='../html/index.html'">Back</button> </p> </form> </div> </section> 

尝试window.location = "some-url"window.location.href = "some-url" replace是一个字符串方法 ,而不是location的属性。

在窗体内添加按钮时,必须编写onsubmit事件,而不是onclick按钮。 因为您正在提交表格。 如果您不希望提交表单,请设置按钮type =“ button”。 因此,您可以添加onclick事件,并且单击时不会提交表单。

  1. 防止在提交时重新加载页面。 您可以使用event.preventDefault()或返回false。
  2. 页面重定向使用window.location.href =或window.location.replace();

    登录页面

    自拍技术

    提交查询

    背部

     <script> var db = window.localStorage; function login(e) { console.log(e); e.preventDefault(); window.location.href='https://www.google.com'; var loginFormDt = document.querySelector('#login-form'); var logEmail = loginFormDt.querySelector('input[type="email"]'); var logPass = loginFormDt.querySelector('input[type="password"]'); if(db.email == logEmail.value && db.password == logPass.value){ window.location.replace('http://www.google.com'); }else{ window.location.replace('http://www.bing.com') } } function signUp () { var signupFormDt = document.querySelector('#signup-form'); var email = signupFormDt.querySelector('input[name="email"]'); var password = signupFormDt.querySelector('input[name="password"]'); var userName = signupFormDt.querySelector('input[name="name"]'); db.setItem(userName.name, userName.value); db.setItem(email.name, email.value); db.setItem(password.name, password.value); } </script> 

您可以使用:

window.location.replace("http://stackoverflow.com");

要么:

window.location.href = "http://stackoverflow.com";

replace()方法在字符串中搜索指定的值或正则表达式,然后返回替换了指定值的新字符串。

window.location = 'http://www.bing.com';

要么

window.location.href = 'http://www.bing.com';

或尝试

location.href = 'http://www.bing.com';

检查此演示代码

 function login() { window.location.href = 'https://stackoverflow.com/'; } 
 <section> <h3>login Page</h3> <div id="login"> <p><a href="../html/index.html" title="link to home page">Myselfie Tech</a></p> <form method="Post" id="login-form"> <p> <input type="email" name="email" id="email" placeholder="email" required> </p> <p> <input type="password" name="password" id="password" placeholder="password" required> </p> <p> <button type="submit" onclick="login()">Submit Query</button> </p> <p> <button onclick="window.location='../html/index.html'">Back</button> </p> </form> </div> </section> 

欲获得更多信息

https://www.w3schools.com/jsref/jsref_replace.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM