Javascript只是不';t重定向,改为重新加载index.html
所以,我试图制作一个小的虚拟登录表单,当我点击一个按钮时,它会将我重定向到另一个页面。 但它只是没有,而是重新加载index.html HTML(编辑): 起初我认为它可能没有重定向,因为它根本没有调用函数,但它确实调用了。每次都会触发警报,但随后它会重新加载页面Javascript只是不';t重定向,改为重新加载index.html,javascript,html,Javascript,Html,所以,我试图制作一个小的虚拟登录表单,当我点击一个按钮时,它会将我重定向到另一个页面。 但它只是没有,而是重新加载index.html HTML(编辑): 起初我认为它可能没有重定向,因为它根本没有调用函数,但它确实调用了。每次都会触发警报,但随后它会重新加载页面 当我告诉它在init函数中进行重新定位时,它也可以重新定位。哪里出错了?元素的默认行为是执行提交操作。由于您没有取消,因此表单正在提交,您对location.href所做的更改将被忽略。由于您尚未为action=“”指定值,提交只是导
当我告诉它在init函数中进行重新定位时,它也可以重新定位。哪里出错了?元素的默认行为是执行提交操作。由于您没有取消,因此表单正在提交,您对
location.href
所做的更改将被忽略。由于您尚未为action=“
”指定值,提交只是导致当前页面刷新
有三种不同的方法可以避免这种情况:
type=“button”
:您也可以使用更简单的方法,我更喜欢按钮标记中的window.location.href,如下所示:
<button class="Whatever you want to call it" onclick="window.location.href='The_Page_You_Want_To_Redirect_To.html'"></button>
然后您可以根据需要使用CSS为按钮设置样式按钮是什么类型的元素?是否是一个提交按钮或锚点具有可能重新加载页面的默认行为?(您显示的代码不会取消任何与单击元素相关的默认行为。)请向我们显示您按钮的HTML。对不起,我忘记了。我添加了它。你只是想在点击按钮时执行重定向,还是在那里提交表单?现在我只想重定向。这是一个大学项目,所以还没有真正的证书,一切都是假的。哇,非常感谢你,太多了!我一点都不知道,我也找不到。这真的很有帮助,而且现在效果很好!谢谢你抽出时间!不,我真的想把我的文件分开。我认为这是一种更好的编码风格,可以让事情更整洁。但是非常感谢你的帮助。
window.addEventListener("load",init, false);
function init() {
var loginBtn = document.getElementById("loginBtn");
loginBtn.addEventListener("click", checkLogin, false);
}
function checkLogin(e) {
alert("FIRED");
if(1>0){
window.location.href = "//www.google.com";
}
}
<button class="btn btn-default pull-right btn-large"
id="loginBtn" style="margin-right: 20px;" type="button">Login</button>
<input class="btn btn-default pull-right btn-large" value="Login"
id="loginBtn" style="margin-right: 20px;" type="button" />
function checkLogin(e) {
e.preventDefault();
alert("FIRED");
if(1>0){
window.location.href = "//www.google.com";
}
}
<button class="Whatever you want to call it" onclick="window.location.href='The_Page_You_Want_To_Redirect_To.html'"></button>