如何为JavaScript confirm()方法的确定/取消按钮设置不同操作
解决表单onsubmit中confirm取消时的页面重定向问题
我来帮你搞定这个需求!你需要在点击confirm对话框的「取消」按钮时,阻止表单提交并跳转到指定页面,同时保留「确定」时正常提交表单的逻辑。下面是修改后的完整实现:
第一步:更新JavaScript函数
修改你的showDialog函数,在取消分支添加页面重定向逻辑,同时让函数返回布尔值来控制表单的提交行为:
function showDialog() { if(confirm("Press OK to confirm")) { console.log("Clicked OK, confirmation."); return true; // 允许表单提交 } else { console.log("Clicked Cancel, confirmation."); // 重定向到目标页面,替换成你的实际URL window.location.href = "/your-target-page.jsp"; return false; // 阻止表单提交 } }
第二步:修改表单的onsubmit事件
表单的onsubmit属性需要调用函数并返回其结果,这样才能根据用户的选择决定是否提交表单:
<form action="/your-submit-url.jsp" onsubmit="return showDialog();"> <!-- 表单内容,比如输入框、提交按钮等 --> <input type="submit" value="提交"> </form>
关键逻辑说明
- 返回布尔值:
onsubmit事件只有在返回true时才会触发表单提交,返回false会阻止默认提交行为。这就是为什么我们要在函数里分别返回true和false。 - 取消时的重定向:在
else分支中使用window.location.href跳转到你需要的页面,同时返回false确保表单不会继续提交。 - 确定时的正常提交:点击确定后返回
true,表单会按照action属性指定的地址正常提交。
这样修改后,点击「确定」表单正常提交,点击「取消」就会跳转到你设置的目标页面啦!
内容的提问来源于stack exchange,提问作者Tausif Ahmad
相关产品推荐
相关产品推荐

