今天,在button按钮的click事件中,使用window.location.href=""实现页面的跳转,代码如下:
<div class="row">
<form class="form-horizontal" role="form">
<div class="form-group">
<div class="input-group col-md-3 col-md-offset-7">
<div class="input-group-addon"><span class="glyphicon glyphicon-user"></span></div>
<input type="text" class="form-control" id="userName"/>
</div>
</div>
<div class="form-group">
<div class="input-group col-md-3 col-md-offset-7">
<div class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></div>
<input type="password" class="form-control" id="password"/>
</div>
</div>
<div class="form-group">
<div class="col-md-3 col-md-offset-7">
<button class="btn" id="submit">登录</button>
</div>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
window.location.href="jsp/Mainview.jsp";
});
});
</script>
结果,在点击按钮时,页面没有变化(其实已经不是原来的页面),无法实现跳转。
错误原因:在进行表单提交时,提交事件会先于window.location.href="jsp/Mainview.jsp"执行,所以,在点击完button按钮之后,虽然看似并未发生页面跳转,其实(本质上),页面已经发生了变化(从浏览器地址栏中地址的变化情况就可以看出)。因已不在当前页面,当然window.location.href也就变的无效,因此无法进行页面的跳转。
解决方法:
方法1,在click事件中,添加return false;
方法2,在click事件中,添加 window.event.returnValue=false;