gpt4 book ai didi

java - Wicket - 确认面板更换/删除以保存未保存的数据

转载 作者:行者123 更新时间:2023-12-01 04:37:47 24 4
gpt4 key购买 nike

我有一个 Wicket SPA Web 应用程序,我希望用户确认在面板替换/删除面板上是否希望保存面板中输入的数据?我的应用程序结构如下所示

<body>
<nav>
<a wicket:id="home">Home</a>
<a wicket:id="documents">Documents</a>
<a wicket:id="user">Users</a>
<a wicket:id="logout">Logout</a>
</nav>
<main wicket:id="panel"></main>
</body>

现在有一个 addDocumentPanel,当用户单击“添加新文档”某处时,它会替换为 wicket:id='panel'。在此面板中,用户必须填写公式中的多个字段。现在,当用户单击“主页”时,addDocumentPanel 会被 homePanel 替换。发生这种情况时,我想询问用户是否要保存未保存的数据。

一个可靠的好地方是 onRemove() Panel 的功能,但这里我没有任何 AjaxRequestTarget 或其他东西可以通过 JavaScript 或 wickets ModalWindow 询问用户。

有什么想法吗?

最佳答案

向所有导航链接添加一个行为,单击该链接时会执行一个简单的逻辑来检查表单是否包含任何脏(未保存)数据。我想这可以在客户端完成,无需服务器往返,并且在发现表单脏时,您可以向用户显示一个 window.alert 对话框。

更重的方法是使用您自己的 AjaxLink 子类作为导航链接,并在 onClick(AjaxRequestTarget target) 处理程序中执行 ModalWindow 魔法。然而,这会导致您的链接包含不可添加书签的网址。如果这不是一个问题(这是一个内部应用程序,而不是面向互联网的网站),那么这也可能有效。

关于java - Wicket - 确认面板更换/删除以保存未保存的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com