我正在寻找一种方法来了解用户何时离开页面并且尚未保存更改然后显示wicket的模态(最好但可以是确认框)。
其他信息: 解决方案应该在代码中具有最小的影响,因为我有大约30个页面会有这种行为,实际上我的所有网页都从一个名为LayoutPage的页面延伸,类似于this
我尝试使用像this问题那样的纯JavaScript解决方案,但是应用程序通过AJAX请求发送了大量数据,因此我无法确定一种很好的方法来了解数据是否已发送到服务器
我开始查看Wicket Form.class
的源代码。它有一个很好的方法叫isSubmitted()
;如果我能够从wicket知道用户是否要退出页面,我可以使用它。
我不想为系统中的每个页面编写验证。
答案 0 :(得分:7)
只需使用https://cwiki.apache.org/WICKET/calling-wicket-from-javascript.html生成浏览器onbeforeunload即可。然后,您可以在回调中检查表单或页面的状态。