| Apache Wicket > Framework Documentation > Reference library > How to do things in Wicket > Forms > Request Focus on a Specific Form Component |
public class FocusOnLoadBehavior extends AbstractBehavior { private Component component; public void bind( Component component ) { this.component = component; component.setOutputMarkupId(true); } public void renderHead( IHeaderResponse iHeaderResponse ) { super.renderHead(iHeaderResponse); iHeaderResponse.renderOnLoadJavascript("document.getElementById('" + component.getMarkupId() + "').focus()"); } public boolean isTemporary() { // remove the behavior after component has been rendered return true; } }
public class MyPage extends WebPage { public MyPage() { Form form = new Form("form"); TextField field1 = new TextField("field1"); field1.add(new FocusOnLoadBehavior()); form.add(field1); add(form); } }
public class FocusOnLoadBehavior extends AbstractBehavior { @Override public void bind(Component component) { super.bind(component); component.setOutputMarkupId(true); component.setComponentBorder(new IComponentBorder() { public void renderBefore(Component component) { } public void renderAfter(Component component) { final Response response = component.getResponse(); response.write( "<script type=\"text/javascript\" language=\"javascript\">document.getElementById(\"" + component.getMarkupId() + "\").focus()</script>"); } }); } @Override public boolean isTemporary() { return true; } }