I have a textbox in zk. If I pressed tab call the onChanged event. What need I do for call onChange event when press enter? Currently when I press enter not happens anything at all.
<textbox id="inputWord" width="200px" apply="com.wb.controlers.WBControler" />
WBControler.java (Extends GenericForwardComposer)
public void onChange$inputWord(Event event) throws Exception {
Component c = event.getTarget();
if (c instanceof Textbox) {
wordTextbox = (Textbox)c;
}
if (wordTextbox != null) {
// do something
}
}
Thanks in advance.
The Enter key fires the onOK
event in ZK (both 'O' and 'K' are uppercase).
The ZK documentation discusses the details here.
Using a GenericForwardComposer
you would define an event listener like so:
public void onOK$inputWord(Event event) {
// do something
}
Using a SelectorComposer
(introduced in ZK 6.0) you would define your event listener like so:
@Listen(Events.ON_OK + " = #inputWord")
public void onEnterPressed(Event event) {
// do something
}
If you want to execute a single bit of code for multiple events, have a look into Event Forwarding. For example..
// in your controller
@Listen("onQuery = #inputWord")
public void onQuery(Event event) {
// do something
}
// in your zul file
<texbox id="inputWord" forward="onOK=onQuery, onChange=onQuery" />