Laravel站点全局实现退出按钮点击弹出JavaScript确认框需求
给Laravel退出按钮添加确认弹窗的解决方案
很容易实现这个需求,只需要修改你现有退出按钮的onclick事件逻辑,把JavaScript的确认框功能加进去就行。
直接替换成下面的代码:
<a class="dropdown-item" href="{{route('logout')}}" onclick="event.preventDefault(); if(confirm('确定要退出当前账号吗?')) { document.getElementById('logout-form').submit(); }"> <span class="text-danger"> <i class="fa fa-fw fa-sign-out"></i>Logout </span> </a>
代码说明:
event.preventDefault():保留原来的逻辑,阻止链接的默认跳转行为(因为Laravel的退出需要通过POST表单提交,不能直接GET跳转)confirm('确定要退出当前账号吗?'):弹出一个原生的确认对话框,括号里的文字可以根据你的需求自定义,比如改成英文的Are you sure you want to logout?- 只有当用户点击确认框中的「确定」按钮时,才会执行
document.getElementById('logout-form').submit()来提交退出表单,完成退出操作
另外要确认你的页面中确实存在ID为logout-form的表单,这是Laravel默认退出机制所需要的(一般会放在页面底部,类似下面的结构):
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> @csrf </form>
内容的提问来源于stack exchange,提问作者Ana Maria
相关产品推荐
相关产品推荐

