wicket - Apache Wicket 口 : Updating multiple FormComponents with a single ajax request

标签 wicket

Wicket 表单进程对表单中的所有 FormComponent 执行转换、验证和模型更新。 AjaxFormComponentUpdatingBehavior 将为单个组件执行此过程。我正在寻找的是一种使用一个 FormComponent 上的事件来执行两个 FormComponent 的表单处理的方法。

示例页面可能如下所示:

    <form wicket:id='form'>

        <label>Name</label>
        <input type='text' wicket:id='name'/>

        <label>Start Date</label>
        <input type='text' wicket:id='start'/>

        <label>End Date</label>
        <input type='text' wicket:id='end'/>

    </form>

当其中一个日期字段发生更改时,我想使用 ajax 验证另一个日期字段,并更新两个模型,而仅保留表单上的所有其他组件。为此,必须在两个字段上进行转换、验证和模型更新。我还没有找到使用单个 ajax 事件来执行此操作的方法。

有什么想法吗?

最佳答案

解决问题最直接的方法可能是将 2 个字段包装在 nested form 中。 :

 <form wicket:id='form'>

    <label>Name</label>
    <input type='text' wicket:id='name'/>
       <form wicket:id='innerForm'>
         <label>Start Date</label>
         <input type='text' wicket:id='start'/>
         <label>End Date</label>

         <input type='text' wicket:id='end'/>
       </form>
</form>

比其中一个日期字段更改只需通过 AJAX(使用 AjaxFormSubmitBehavior)提交innerForm 并将验证逻辑应用于这两个字段。 希望这可以帮助您。

关于wicket - Apache Wicket 口 : Updating multiple FormComponents with a single ajax request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61822053/

相关文章:

eclipse - 如何开始使用 Wicket?

java - 为什么 java.util.concurrent.FutureTask 不可序列化

java - 如何清理 HTML 中的 wicket 标签?

java - BigDecimal 语言环境特定解析 - Wicket 的 BigDecimalConverter 和 java.math.BigDecimal 之间的不一致

javascript - 想要在wicket中调用js方法而不使用ajax的onclick或onsubmit按钮

java - 存储在数据库中的 Wicket 模板

java - Wicket - Ajax PropertyListView

java - 如何在 Apache Wicket 中编辑 LoadableDetachableModel

unit-testing - Wicket/MVC 架构/测试问题

ajax - wicket ajax隐藏/取消隐藏可重复使用的面板而不提交表单