如何通过Javascript根据复选框状态设置表单action,现有代码不生效如何解决
问题排查与修复方案
你的代码存在JavaScript语法错误,直接导致validate函数执行异常,表单提交逻辑失效:
- 函数结构错误:
return true;语句写在了validate()函数的闭合花括号外面,不属于函数内部逻辑,函数执行完成后没有返回有效值,导致表单提交事件被默认拦截。 - 冗余嵌套:else分支内多了一层不必要的花括号,虽然不影响执行但属于无效代码。
修正后的完整代码
function validate() { var f = document.getElementById("confirmForm"); f.setAttribute('method', "post"); if (document.getElementById('confirmOptionCompare').checked) { f.setAttribute('action', "comparison.php"); } else { f.setAttribute('action', "bookConfirm.php"); } return true; }
调试提示
你可以打开浏览器的开发者工具(按F12)切换到控制台标签页,这类语法错误会直接输出红色报错信息,能快速定位问题位置。
内容的提问来源于stack exchange,提问作者Brendon
相关产品推荐
相关产品推荐

