0

Enter next Tabindex component

asked 2012-10-30 08:17:52 +0800

longdv1208 gravatar image longdv1208
98 4

When focus on the textbox, press enter focus textbox B ...
A->B->C->A

<window id="windowEnterTab" title="Enter next tab" border="normal"
		apply="de.forsthaus.webui.util.EnterTabCtrl">
		<grid>
			<rows>
				<row>
					<label id="labela" value="Value A" tooltip="help" />
				</row>
				<row>
					TextA
					<textbox id="textboxa" />
				</row>
				<row>
					TextB
					<textbox id="textboxb" />
				</row>
				<row>
					TextC
					<textbox id="textboxc" />

				</row>
			</rows>
		</grid>
	</window>

delete flag offensive retag edit

3 Replies

Sort by ยป oldest newest

answered 2012-10-30 10:11:59 +0800

Steva77 gravatar image Steva77 flag of Italy
1014 3
http://www.research.softe...

Not that clear... do you mean that pressing tab index you hould iterate over the rows, in a circular way?

link publish delete flag offensive edit

answered 2012-10-30 11:21:58 +0800

terrytornado gravatar image terrytornado flag of Germany
9393 3 7 16
http://www.oxitec.de/

updated 2012-10-30 11:27:05 +0800

I believe he wants to jump from textbox to textbox by pressing the ENTER key.
I have put the codes inZksample2 :

zul: /WEB-INF/pages/test/enterTab.zul
java: de.forsthaus.webui.util.test.EnterTabCtrl.java

enterTab.zul

<?xml version="1.0" encoding="UTF-8"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" ?>

<zk xmlns="http://www.zkoss.org/2005/zul" xmlns:h="http://www.w3.org/1999/xhtml"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.zkoss.org/2005/zul
	http://www.zkoss.org/2005/zul/zul.xsd">


	<window id="enterTabWindow" apply="de.forsthaus.webui.util.test.EnterTabCtrl" title="change textbox focus on ENTER"
		border="none" closable="true" mode="modal" width="500px" height="400px">

		<grid>
			<rows>
				<row>
					<label id="labela" value="Value A" tooltip="help" ></label>
				</row>
				<row>
					TextA
					<textbox id="textboxa" forward="onOK=onOKTextbox" ></textbox>
				</row>
				<row>
					TextB
					<textbox id="textboxb" forward="onOK=onOKTextbox" ></textbox>
				</row>
				<row>
					TextC
					<textbox id="textboxc" forward="onOK=onOKTextbox" ></textbox>

				</row>
			</rows>
		</grid>


	</window>
</zk>

EnterTabCtrl.java

package de.forsthaus.webui.util.test;

import java.io.Serializable;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Textbox;

/**
 * Controller for let the focus jump from textbox to textbox by press the ENTER
 * key.
 * 
 * zul-file: WEB-INF/pages/test/enterTab.zul
 * @see http
 *      ://www.zkoss.org/forum/listComment/20977-Enter-next-Tabindex-component
 * @author Stephan Gerth
 * 
 */
public class EnterTabCtrl extends GenericForwardComposer implements Serializable {

	private static final long serialVersionUID = 1L;

	private Textbox textboxa; // autowired
	private Textbox textboxb; // autowired
	private Textbox textboxc; // autowired

	/**
	 * Default constructor.
	 */
	public EnterTabCtrl() {
	}

	@Override
	public void doAfterCompose(Component window) throws Exception {
		super.doAfterCompose(window);

	}

	public void onOKTextbox(Event event) {

		if (((Textbox) ((ForwardEvent) event).getOrigin().getTarget()).getId().equalsIgnoreCase("textboxa")) {
			textboxb.focus();
		} else if (((Textbox) ((ForwardEvent) event).getOrigin().getTarget()).getId().equalsIgnoreCase("textboxb")) {
			textboxc.focus();
		} else if (((Textbox) ((ForwardEvent) event).getOrigin().getTarget()).getId().equalsIgnoreCase("textboxc")) {
			textboxa.focus();
		}

	}
}

best
Stephan

PS: There's a new button for starting such test samples (SamplesMainCtrl).

link publish delete flag offensive edit

answered 2012-10-30 13:10:08 +0800

Steva77 gravatar image Steva77 flag of Italy
1014 3
http://www.research.softe...

Nice summary of event mgmt and control implementation!

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2012-10-30 08:17:52 +0800

Seen: 153 times

Last updated: Oct 30 '12

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More