window.location.href跳转无效

 
 
问题情况
JS中设置window.location.href跳转无效
 
原因是 a标签的href跳转会执行在window.location.href设置的跳转之前:
如果是表单form的话  也会先执行form提交。
提交之后 就已经不在当前页面了。所以 window.location.href无效。
 
解决方法一
在js函数中加上
window.event.returnValue=false
这个属性放到提交表单中的onclick事件中在这次点击事件不会提交表单,如果放到超链接中则在这次点击事件不执行超链接href属性。
改成如下代码后window.location.href成功跳转:
[html] view plain copy
  1. <script type="text/javascript">
  2. function checkUser()
  3. {
  4. if(2!=1){
  5. window.location.href="login.jsp";
  6. window.event.returnValue=false;
  7. }
  8. }
  9. </script>
  10. <div class="extra">
  11. <a class="ui blue right floated primary button" onclick="checkUser()"  href="bookConfirm?userId=${account.id}&roomNum=${room.roomNum}&stime=${stime }&etime=${etime }">确认预订</a>
  12. </div>
 
 
解决方法二
点击事件中  onclick="checkUser()"  变成 onclick="return checkUser();"
并且在 checkUser中 return  false;这样的话 a标签的href也不会执行。 这样就能window.location.href顺利跳转。
代码如下:
[html] view plain copy
  1. <script type="text/javascript">
  2. function checkUser()
  3. {
  4. if(<%=flag%>!=1){
  5. window.location.href="login.jsp";
  6. return false;
  7. }
  8. }
  9. </script>
  10. <div class="extra">
  11. <a class="ui blue right floated primary button" onclick="return checkUser();"
  12. href="bookConfirm?userId=${account.id}&roomNum=${room.roomNum}&stime=${stime }&etime=${etime
  13. }">确认预订</a>
  14. </div>
 
 
 
解决方法三
感谢qmm0523 在评论中提出这种解法
如果是form体提交的话还可以把summit改成button调用js提交,这样window.location.href也会在js提交summit之前执行成功跳转。
如下:
[html] view plain copy
  1. function checkUser()
  2. {
  3. if(<%=flag%>!=1){
  4. window.location.href="login.jsp";
  5. return false;
  6. }
  7. document.getElementById("form").submit();
  8. }
  9. <form action="addRoom" method="post"   name="from" id="form">
  10. <table align="center" border="1" class="commTable">
  11. <tr>
  12. <td class="right"><span
  13. style="font-weight: blod;">房号:</span></td>
  14. <td><input type="text" name="roomNum" size="25"
  15. id="roomNum" /></td>
  16. </tr>
  17. <tr>
  18. <td colspan="2" align="center"><button   value="添加"
  19. onclick="checkUser()" /></td>
  20. </tr>
  21. </table>
  22. </form>

声明:本文为转载,再次十分百分千分万分感谢博主的分享,谢谢。

window.location.href跳转无效的更多相关文章

  1. 遇到问题-----JS中设置window.location.href跳转无效(在a标签里或这form表单里)

    问题情况 JS中设置window.location.href跳转无效 代码如下: ? 1 2 3 4 5 6 7 8 <script type="text/javascript&quo ...

  2. javascript 中设置window.location.href跳转无效问题解决办法

    javascript 中设置window.location.href跳转无效问题解决办法 问题情况 JS中设置window.location.href跳转无效 原因是 a标签的href跳转会执行在wi ...

  3. window.location.href跳转问题

    任务中遇到这样一个问题,用window.location.href跳转一到个网址,但是每次都出错,显示网址前面加上了文件所在文件夹的路径 示例如下: window.location.href=&quo ...

  4. window.location.href 跳转失败

    我恨这个问题,因为困扰已久,做为一个不称职的半开发人员,对前端非常不熟,程度仅限于alert调试的水平 这个问题似乎是IE的一个傻逼哄哄的BUG引起的,在AJAX盛行的今天,当在返回success状态 ...

  5. window.location.href跳转问题2

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...

  6. 微信内置的浏览器window.location.href 跳转不兼容问题

    1.不兼容苹果手机---->>>>使用模拟触发a标签 <a id="alink" href="http://www.baidu.com&qu ...

  7. window.location.href 跳转无历史记录

    需求:从页面a单点登录跳至页面b,在页面b里做判断符合条件后location.href至c页面 问题:在页面c中点击返回按钮页面回到了a,正常情况下应该回到页面b 原因:在当前页面的 onload 事 ...

  8. window.location.href = window.location.href 跳转无反应 a 超链接 onclick 点击跳转无反应

    错误写法 , 主要是在 href="#"这里 <a href="#" id="send" onclick="return b ...

  9. window.location.href跳转至空白页

    现象:window.location.href = "XXX"调到了空白页,但是将XXX在窗口地址栏输入就会可以访问到. 原因:就是XXX前缀没有加上"http://&q ...

随机推荐

  1. canvas小画板——(2)荧光笔效果

    我们在上一篇文章中讲了如何绘制平滑曲线 canvas小画板——(1)平滑曲线. 透明度实现荧光笔 现在我们需要加另外一种画笔效果,带透明度的荧光笔.那可能会觉得绘制画笔的时候加上透明度就可以了.我们来 ...

  2. 【lhyaaa】2020深圳大湾区比赛总结

    又名花样丢分锦集 首先,我们需要来吐槽一下垃圾szccf,毁我青春 居然没有提醒不能用万能头文件,导致一题爆0,据说还有一些结果不是自己答的 emmm-- 进正题 选择题 对包含n个数的序列进行冒泡排 ...

  3. 【Python笔记】2020年7月30日练习【汉诺塔游戏】

    学习教程:廖雪峰-Python教程-函数-递归函数 学习笔记: 实例代码如下: def move(n, a, b, c): if n == 1: print(a,'--->', c) else: ...

  4. C#LeetCode刷题之#697-数组的度( Degree of an Array)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3738 访问. 给定一个非空且只包含非负数的整数数组 nums, ...

  5. vue的使用规范之v-if 与 v-for 一起使用

    当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中 所以,不推荐v-if和v-for同时使用 使用推荐方 ...

  6. 使用halo搭建自己的博客并配置https域名访问

    首先进行java配置 # 1. 下载jdk [下载地址](https://www.oracle.com/cn/java/technologies/javase-downloads.html) - 一定 ...

  7. [源码分析]ArrayList和LinkedList如何实现的?我看你还有机会!

    文章已经收录在 Github.com/niumoo/JavaNotes ,更有 Java 程序员所需要掌握的核心知识,欢迎Star和指教. 欢迎关注我的公众号,文章每周更新. 前言 说真的,在 Jav ...

  8. Golang并发编程基础

    硬件 内存 作为并发编程一个基础硬件知识储备,首先要说的就是内存了,总的来说在绝大多数情况下把内存的并发增删改查模型搞清楚了其他的基本上也是异曲同工之妙. 内存芯片--即我们所知道的内存颗粒,是一堆M ...

  9. SG 函数学习

    \(Mex\) 运算 \(mex(S)\) 为不属于集合 \(S\) 的最小非负整数,即: \[mex(S)=\min \limits_{x \in \mathbb{N},x \not\in S} \ ...

  10. 精讲RestTemplate第9篇-如何通过HTTP Basic Auth认证

    本文是精讲RestTemplate第9篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层H ...