所以,我试图制作一个小的虚拟登录表单,当我点击一个按钮时,它会将我重定向到另一个页面上。但是它没有,而是重新加载了index.html。
HTML (编辑):
<div class="modal fade" id="login" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<form action="" class="form-horizontal">
<div class="modal-header">
<h4>Log In</h4>
</div> <!-- End of Modal Header -->
<div class="modal-body">
<div class="form-group">
<label for="login-name" class="col-lg-2 control-label">Username</label>
<div class="col-lg-10">
<input type="text" placeholder="Enter Your Username" class="form-control" id="login-name">
</div>
</div> <!-- End of -->
<div class="form-group">
<label for="login-name" class="col-lg-2 control-label">Password</label>
<div class="col-lg-10">
<input type="password" placeholder="Enter Your Password" class="form-control" id="login-name">
</div>
</div> <!-- End of -->
<div class="form-group">
<button class="btn btn-default pull-right btn-large" id="loginBtn" style="margin-right: 20px;">Login</button>
</div> <!-- End of -->
</div> <!-- End of Modal Body -->
<div class="modal-footer">
<a href="#" class="btn btn-default btn-xs">Forgot Password</a>
<a href="#" class="btn btn-default btn-xs">Sign Up</a>
<a href="#" class="btn btn-default btn-xs" data-dismiss="modal">Close</a>
</div> <!-- End of Modal footer -->
</form>
</div> <!-- End of Modal Content -->
</div> <!-- End of Modal Dialog -->
</div> <!-- End of Modal Fade LOGIN -->联署材料:
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";
}
}一开始,我想也许它没有重定向,因为它根本没有调用函数,但是它调用了。每次都会触发警报,但它只是重新加载页面。
当我告诉它在init函数中这样做时,它也会很好地重新定位。我哪里出问题了?
发布于 2015-01-18 12:51:15
<button>元素的默认行为是执行提交操作。因为您没有取消它,所以表单将被提交,而您对location.href所做的更改将被忽略。由于您没有为action=""指定一个值,所以提交只会导致当前页面刷新。
您可以通过三种不同的方法来避免这种情况:
type="button":<button class="btn btn-default pull-right btn-large"
id="loginBtn" style="margin-right: 20px;" type="button">Login</button>input与type="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";
}
}发布于 2015-01-18 14:05:42
您还可以使用更简单的方式,在按钮标记中使用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对按钮进行样式设置。
https://stackoverflow.com/questions/28009618
复制相似问题