Laravel与JavaScript中alert弹窗来源无法定位的问题求助
排查方案
- 强制刷新浏览器缓存:按
Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,避免旧JS文件缓存导致弹窗残留。 - 检查打包构建产物:如果项目用了Webpack、Vite这类打包工具,先删除
dist/build这类构建目录,重新执行构建命令(比如npm run build),确保删除的代码没有留在打包后的文件里。 - 用浏览器开发者工具定位代码:打开Chrome开发者工具,切换到
Sources面板,按Ctrl+Shift+F搜索弹窗文本you selected over 24 hours,能找到实际触发弹窗的代码位置,不管是缓存文件还是打包后的代码。 - 检查第三方表单库:你用到的
Form::input是后端渲染的表单组件,确认该组件是否自带时间差验证逻辑,弹窗可能是组件内置的,而非你自定义的JS代码。 - 排查服务端动态注入的JS:查看页面源码(右键→查看页面源代码),搜索弹窗文本,确认是否是服务端动态生成并注入到页面的JS代码。
- 检查事件绑定的其他逻辑:表单
onchange绑定了handleDateChange和handleTimeChange,确认这两个函数是否存在于其他JS文件中,或是通过事件委托被其他代码绑定了额外验证逻辑。
你提供的相关命令与代码:
搜索命令:
grep -R "you selected over 24 hours" . grep -r "you selected over 24 hours" /Users/myname/myrepos/allcode
表单代码:
<div style="padding-bottom: 20px"> {!! Form::input('date', 'departure_date_flight_' . $increment, $fields['departure_date'] ?? null, ['required' => 'required', 'class' => 'date_time', 'increment' => $increment, 'min' => $date, 'max' => '9999-12-31', 'data-type' => 'start', 'linked' => 'arrival_date_flight_' . $increment, 'onchange' => 'handleDateChange(this)']) !!} {!! Form::input('time', 'departure_time_flight_' . $increment, $fields['departure_time'] ?? null, ['required' => 'required', 'class' => 'date_time', 'increment' => $increment, 'linked' => 'arrival_time_flight_' . $increment, 'onchange' => 'handleTimeChange(this)']) !!} </div>
内容的提问来源于stack exchange,提问作者Naam
相关产品推荐
相关产品推荐

