我在我的 wicket 应用程序中使用 ajax 按钮,并且此代码工作正常:
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.getAjaxCallListeners().add(new DisableComponentListener(form));
}
form 是一个带有 markup:id="form"的组件。
但我想禁用呈现的整个 WebPage 对象,并按照描述呈现指示器 here 。在 DisableComponentListener 中用 getPage() 替换表单参数似乎不起作用。
最佳答案
正如我在您链接到的页面上看到的,“禁用”表单的 JavaScript 代码使用传递的组件的元素 id(= 标记 id)在客户端禁用它。
问题是页面没有标记 ID。因此,您可以尝试编辑您的 javascript 代码以使用 body 元素,或者在层次结构的较高位置添加自定义 WebMarkupContainer 并将其传递给您的 DisableComponentListener。
关于ajax - Wicket 禁用 ComponentListener 禁用整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24058178/