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/