选择排序选项时通过onchange参数刷新页面失效的问题求助
解决办法
1. 调整代码实现全选项刷新
你当前的代码仅在选中值为reload1的选项时触发刷新,要实现选任意选项都刷新,直接移除判断条件即可:
function reloadF(obj){ location.reload(); }
也可以直接把逻辑写在onchange事件里,省去单独定义函数:
<select name="autnastranku" id="autnastranku" onchange="location.reload();"> <option value="0">Aut na stránku</option> <option value="1">6</option> <option value="2">9</option> <option value="3">12</option> <option value="reload1">reload</option> </select>
2. 排查Bootstrap的事件拦截问题
如果修改后还是没效果,大概率是Bootstrap的下拉增强组件(比如bootstrap-select)替换了原生下拉框,导致原生onchange事件失效。可以这么处理:
- 检查页面是否引入了这类增强插件,若有,改用插件提供的事件监听方式;
- 替换内联事件为DOM事件监听,避免被拦截:
// 放在页面底部或DOM加载完成后执行 document.getElementById('autnastranku').addEventListener('change', function() { location.reload(); });
同时删除HTML标签里的onchange="reloadF(this);"属性。
3. 调试确认问题点
打开浏览器开发者工具(F12),在函数里添加console.log('事件触发了'),看控制台是否能打印内容,以此判断是事件没触发,还是刷新逻辑有问题,方便精准定位。
内容的提问来源于stack exchange,提问作者Exie
相关产品推荐
相关产品推荐

