当用户试图离开我的表单时,我有一些简单的代码来显示确认对话框:
window.onbeforeunload = askConfirm;
function askConfirm(){
return "Your answers will be lost.";
}
但这是一个多页表单,他们经常按返回键更改前一页的某些值。
但是当他们这样做时,这个对话框仍然会出现。
有解决办法吗?
最佳答案
不幸的是,我建议的答案实际上并没有回答您的问题,而是一种解决方案。这里唯一可能的解决方案 imv 是通过存储所有页面的表单答案来确保用户单击后退按钮实际上不会产生问题。对于 PHP,我会将它们存储在一个 session 中 ($_SESSION
)。您必须认识到,与浏览器中的任何其他 UI 元素相比,用户使用后退按钮的次数更多。如果您的表单确实必须跨多个页面,那么您需要确保他们输入的数据在所有这些页面上都是持久的。我实际上会在您自己的界面中为此提供导航。在视觉上提供清晰的顺序流程,并在可能的情况下允许通过此流程进行即时导航。
关于javascript - 除非按下后退按钮,否则确认卸载/退出对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882955/