Apache Wicket:使用单个 ajax 请求更新多个 FormComponents
Apache Wicket: Updating multiple FormComponents with a single ajax request
wicket 表单流程为表单中的所有 FormComponents 执行转换、验证和模型更新。 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 表单流程为表单中的所有 FormComponents 执行转换、验证和模型更新。 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 并将验证逻辑应用于这两个字段。 希望对您有所帮助。