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

发布时间 - 2026-01-10 22:57:13    点击率:

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

问题情况

JS中设置window.location.href跳转无效

代码如下:

<script type="text/javascript"> 
  function checkUser() 
{  
   if(2!=1){ 
    window.location.href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;  
   } 
} 
 </script>  
 
<div class="extra"> 
     <a class="ui blue right floated primary button" onclick="checkUser()" href="bookConfirm?userId=${account.id}&roomNum=${room.roomNum}&stime=${stime }&etime=${etime }" rel="external nofollow" rel="external nofollow" >确认预订</a> 
      </div> 

原因是 a标签的href跳转会执行在window.location.href设置的跳转之前:

如果是表单form的话  也会先执行form提交。

提交之后 就已经不在当前页面了。所以 window.location.href无效。

解决方法一

在js函数中加上

window.event.returnValue=false

这个属性放到提交表单中的onclick事件中在这次点击事件不会提交表单,如果放到超链接中则在这次点击事件不执行超链接href属性。

改成如下代码后window.location.href成功跳转:

<script type="text/javascript"> 
  function checkUser() 
{  
   if(2!=1){ 
    window.location.href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;  
   window.event.returnValue=false; 
   } 
} 
 </script>  
 
<div class="extra"> 
     <a class="ui blue right floated primary button" onclick="checkUser()" href="bookConfirm?userId=${account.id}&roomNum=${room.roomNum}&stime=${stime }&etime=${etime }" rel="external nofollow" rel="external nofollow" >确认预订</a> 
      </div> 

解决方法二

点击事件中  onclick="checkUser()"  变成 onclick="return checkUser();"

并且在 checkUser中 return  false;这样的话 a标签的href也不会执行。 这样就能window.location.href顺利跳转。

代码如下:

<script type="text/javascript"> 
  
  function checkUser() 
{  
   if(<%=flag%>!=1){ 
    window.location.href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ; 
   return false; 
   } 
} 
 </script> 
 
 <div class="extra"> 
     <a class="ui blue right floated primary button" onclick="return checkUser();"  
 
href="bookConfirm?userId=${account.id}&roomNum=${room.roomNum}&stime=${stime }&etime=${etime  
 
}">确认预订</a> 
      </div> 

解决方法三

如果是form体提交的话还可以把summit改成button调用js提交,这样window.location.href也会在js提交summit之前执行成功跳转。

如下:

function checkUser() 
{  
   if(<%=flag%>!=1){ 
    window.location.href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ; 
   return false; 
   } 
 document.getElementById("form").submit(); 
} 
 
 
  <form action="addRoom" method="post"  name="from" id="form"> 
      <table align="center" border="1" class="commTable"> 
        <tr> 
          <td class="right"><span 
            style="font-weight: blod;">房号:</span></td> 
          <td><input type="text" name="roomNum" size="25" 
            id="roomNum" /></td> 
        </tr> 
        <tr> 
          <td colspan="2" align="center"><button  value="添加" 
            onclick="checkUser()" /></td> 
        </tr> 
      </table> 
    </form> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# javascript  # window.location.href跳转无效  # JS  # 跳转无效  # JavaScript window.setTimeout() 的详细用法  # javascript window.confirm确认 取消对话框实现代码小结  # 解决javascript:window.close()在chrome  # Firefox下失效的问题  # javascript中的window.location.search方法简介  # js实现window.open不被拦截的解决方法汇总  # JavaScrip中window.dispatchEvent的原理和使用具体实例  # 跳转  # 表单  # 解决方法  # 超链接  # 还可以  # 就能  # 会在  # 希望能  # 事件中  # 谢谢大家  # 则在  # 在这次  # 解决办法  # 会先  # 这样的话  # div  # extra  # nofollow  # jsp  # rel 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速打造个性化非模板自助建站?  在线教育网站制作平台,山西立德教育官网?  教学论文网站制作软件有哪些,写论文用什么软件 ?  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  如何在万网开始建站?分步指南解析  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  北京网站制作的公司有哪些,北京白云观官方网站?  Android仿QQ列表左滑删除操作  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel如何处理表单验证?(Requests代码示例)  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Android 常见的图片加载框架详细介绍  iOS发送验证码倒计时应用  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  Laravel如何生成URL和重定向?(路由助手函数)  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  三星、SK海力士获美批准:可向中国出口芯片制造设备  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  QQ浏览器网页版登录入口 个人中心在线进入  长沙做网站要多少钱,长沙国安网络怎么样?  在Oracle关闭情况下如何修改spfile的参数  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何自定义建站之星模板颜色并下载新样式?  西安专业网站制作公司有哪些,陕西省建行官方网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  javascript中闭包概念与用法深入理解  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel如何创建自定义Facades?(详细步骤)  *服务器网站为何频现安全漏洞?  网站优化排名时,需要考虑哪些问题呢?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何在云主机上快速搭建多站点网站?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  专业商城网站制作公司有哪些,pi商城官网是哪个?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  python中快速进行多个字符替换的方法小结  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  ,怎么在广州志愿者网站注册?  进行网站优化必须要坚持的四大原则  Laravel如何使用Telescope进行调试?(安装和使用教程)  如何在腾讯云服务器上快速搭建个人网站?