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: [email protected]
> > > > 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]