我有几页的表格。每个表单都有一个提交的AjaxButton和一个
<div wicket:id="feedback"></div>用于反馈面板。每个表单字段都是必需的,FeedbackPanel将正确地填充来自验证器的错误消息,以防遗漏一个字段。问题是,只有当我在浏览器上单击“回退”,然后“转发”再次查看页面时,这些消息才会显示出来,无论我将反馈<div>放在页面中的哪个位置。
直到后退/向前手势,才会出现错误消息,但表单不会到达onSubmit() (显然,存在验证错误)。
这个问题对于我所有有表单和FeedBackPanel的页面来说都是常见的。所有页面都使用Bootstrap 3.2.0,以防万一会有任何不同。
有什么线索吗?
发布于 2014-10-18 15:43:56
使用Ajax时,必须添加组件,希望将这些组件更新到AjaxRequestTarget中。将由Ajax更新的组件必须具有预定义的标记id。
因此,您必须为您的setOutputMarkupId(true)调用FeedbackPanel方法,并为AjaxButton重写onError方法:
... = new AjaxButton (...) {
...
@Override
protected void onError(final AjaxRequestTarget target, final Form form) {
/*here add your feedback panel to be updated via ajax*/
target.addComponent(feedbackPanel);
}
}https://stackoverflow.com/questions/26441269
复制相似问题