当浏览器关闭或用户更改页面时,我很难弄清楚如何在表单中自动保存用户数据。当你想打开一个对话框时, onBeforeUnload事件是正常的,但到那时保存更改为时已晚(除非你只是阻止浏览器在onBeforeUnload处理程序中)它足以让它将请求传递给服务器......但我宁愿不这样做。)
我相信你们中的一些人不得不处理未保存的表格问题。你是做什么?你:
答案 0 :(得分:3)
•如果他们确定他们做的是正确的话,请问他们使用模态窗口,
关闭窗口是取消行为。由于用户从未主动提交表单,因此无法保证他们希望保存数据(可能不正确),保存数据可能会给用户带来问题。
答案 1 :(得分:1)
我喜欢你的第三个选择:
- 随时更改个别字段。
我不得不处理类似的情况,这就是我们正在做的事情。卖给我的两件主要事情:
缺点:开发此类解决方案所需的额外工时,可能最终不会像简单解决方案那样降级。也就是说,它仍然值得IMO。
答案 2 :(得分:0)
在我使用过的任何浏览器中,onBeforeUnload为您提供了一个模态窗口,要求用户确认是否要离开页面。您可以添加自己的文本,警告他们有未保存的数据,以帮助他们做出决定。您不希望在没有用户请求的情况下显式保存,因为a)用户没有尝试保存,并且b)如果您需要抛出任何验证错误,那么由于页面已经处于导航过程中,因此为时已晚程。