I need to write a function that involves many components. It would be nice
to add a behavior to a form, like you have with a TextField, that would
construct a function that included all of the relevant components of that
form. The function I need to write looks like this:

function keyPressed()
{
  if (window.event.keyCode == 49)
  {
    document.getElementById('button1').click();
  }
  if (window.event.keyCode == 50)
  {
    document.getElementById('button2').click();
  }
  if (window.event.keyCode == 51)
  {
    document.getElementById('button3').click();
  }
  ...
}

<body onKeyPress="keyPressed()" ... >

Do you have any suggestions or ideas?

> On 3/9/08, James Carman <[EMAIL PROTECTED]> wrote:
> > On 3/9/08, Warren <[EMAIL PROTECTED]> wrote:
> >  > WebMarkupContainer bodyTag = new WebMarkupContainer("bodyTag");
> >  >  bodyTag.add(new SimpleAttributeModifier("onload",
> >  >  "form.username.focus();"));
> >
> >
> > Ok, but wouldn't it be cooler/easier/more java-oriented to do:
> >
> >  TextField userName = new TextField("userName");
> >  userName.addBehavior(new DefaultFocusBehavior());
> >
> >  or
> >
> >  Behaviors.defaultFocus(userName); // Assuming Behaviors existed.
> >
> >
>
> How about something like:
>
> public class DefaultFocusBehavior 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();");
>     }
> }
>
> >  >
> >  >
> >  >  > -----Original Message-----
> >  >  > From: [EMAIL PROTECTED]
> >  >  > [mailto:[EMAIL PROTECTED] Behalf Of James Carman
> >  >  > Sent: Sunday, March 09, 2008 7:58 AM
> >  >  > To: users@wicket.apache.org
> >  >  > Subject: Default Focus Behavior?
> >  >  >
> >  >  >
> >  >  > Is there a behavior (or some other way) for having a
> field receive the
> >  >  > focus when the page loads?  For instance, in a login
> form, you'd want
> >  >  > the focus to go to the username field or perhaps the
> password field if
> >  >  > you've got "remember me" turned on.
> >  >  >
> >  >
> >  > >
> ---------------------------------------------------------------------
> >  >  > To unsubscribe, e-mail: [EMAIL PROTECTED]
> >  >  > For additional commands, e-mail: [EMAIL PROTECTED]
> >  >  >
> >  >
> >  >
> >  >
> ---------------------------------------------------------------------
> >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
> >  >  For additional commands, e-mail: [EMAIL PROTECTED]
> >  >
> >  >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to