【问题标题】:Wicket: Loosing form input on page re-render检票口:页面重新渲染时丢失表单输入
【发布时间】:2015-08-20 12:48:16
【问题描述】:

我有带有表单的页面。一切正常。除了页面上有一个链接(语言选择器)。要求是,当用户已经在表单字段中输入并且(未提交表单)单击链接时,应保留所有输入。

如果链接是表单的一部分,则可以通过 SubmitLink 和 submitLink.setDefaultFormProcessing(false); 轻松存档

很遗憾,此链接不了解此页面上的表单。

如果这是可解决的任何指针?当然,不应该触发验证。

【问题讨论】:

    标签: wicket wicket-6


    【解决方案1】:
    1. 客户端 JavaScript 解决方案
    2. 将完整的页面内容包装在一个表单中 (是的,Wicket 允许嵌套表单)并将 SubmitLink 与 defaultFormProcessing=false
    3. 添加一个 AjaxFormComponentUpdatingBehavior 到您的所有表单字段,因此输入始终发送到服务器

    【讨论】:

    • 我个人会使用解决方案 2
    • 谢谢@svenmeier。选项 2 将是我(技术上)首选的选项。不幸的是,在 周围随意放置一个表单会扰乱组件层次结构,我们将不得不调整所有页面。不确定我们是否可以在发布前 6 周进行管理。第 3 个选项很容易实现(我们已经有一个表单,我们在任何地方都可以使用它来突出显示错误等。另一方面,每次用户更改输入字段时都进行 Ajax 调用......,不知道。如何1. 选项有效吗?
    • 选项 1?我不知道,我还没有完成:P ... 循环所有输入,在某处存储值,启动 Ajax 请求并在之后恢复值。
    • 由于 2. 选项涉及的工作量很大,我们将正确选择 3. 感谢您的意见。
    猜你喜欢
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多