Java 禁用wicket中的输入文本
我有两个输入文本的hml表单Java 禁用wicket中的输入文本,java,wicket,Java,Wicket,我有两个输入文本的hml表单 <input type="text" wicket:id = "query"/> <input type="text" wicket:id= "address"/> 我需要实现选择机制。当有人开始写查询时,地址应该是禁用的,反之亦然 我将向两个字段添加一个行为,当通过JavaScript触发onkeup事件时,禁用/启用另一个字段。您可以使用: myTextField.add(AttributeModifier.replace("re
<input type="text" wicket:id = "query"/>
<input type="text" wicket:id= "address"/>
我需要实现选择机制。当有人开始写查询时,地址应该是禁用的,反之亦然 我将向两个字段添加一个行为,当通过JavaScript触发onkeup事件时,禁用/启用另一个字段。您可以使用:
myTextField.add(AttributeModifier.replace("readonly", "readonly"));
当然,
“readonly”
应该根据代码中的一些条件来确定。向侦听onChange事件的查询文本字段添加行为。在onEvent
方法中,禁用address text字段并将其添加到ajax请求目标
请参见此示例,了解如何添加行为以及如何禁用其他组件。请记住,如果必须启用或禁用其他组件,您可能会添加一些检查
queryTextField.add(new AjaxEventBehavior("onKeyUp") {
@Override
protected void onEvent(AjaxRequestTarget target) {
addressTextField.setEnabled(false);
target.add(addressTextField);
}
}
);
唯一的问题是onChange(在大多数浏览器中?)在字段失去焦点时被触发。正如我读到的,他喜欢另一个字段在键入时立即禁用。你不认为Ajax会增加一些开销吗?我想要我的GUI响应:)@verhage-谢谢你的提示。onChange是错误的事件。我将其更改为OnKeyUp,这将是Wicket 6的一件轻而易举的事,因为WiQuery核心成为Wicket核心的一个组成部分:)您可能还对捕获事件感兴趣。如果您在执行OneEvent()后删除Ajax行为会很好,因为它将为每个keyUp事件触发。