You can wrap existing elements in GWT 1.5:

new TextBox(DOM.getElementById("loginUsernameBox"));
new PasswordTextBox(DOM.getElementById("loginPasswordBox"));

then you can do the usual GWT shenanigans and add whatever listener
you like.

If you don't have GWT 1.5.... Then, obviously, shame on you.

On Nov 21, 11:27 pm, tieTYT <[EMAIL PROTECTED]> wrote:
> I saw a faq that made the same recommendation.  The problem is, I need
> to capture the onKeyUp and onClick events of the input's inside the
> form.  I could only figure out how to "bind" to the form OR bind to
> its children.  I couldn't figure out how to bind to both.  GWT threw a
> variety of exceptions over the issue.  Could you show me some sample
> code that does this?
>
> On Nov 21, 2:18 pm, Reinier Zwitserloot <[EMAIL PROTECTED]> wrote:
>
> > These features generally only work if the textbox and passwordbox are
> > in the initial HTML.
>
> > In GWT's normal modus operandi, the boxes are added dynamically by the
> > javascript.
>
> > The solution is to have the boxes in the static HTML file that
> > bootstraps GWT (normally auto-generated by the applicationCreator), in
> > a div that makes them hidden (use visibility and not display: none).
> > From GWT, re-visibilize them if you need em. That should work.
>
> > On Nov 21, 11:04 pm, tieTYT <[EMAIL PROTECTED]> wrote:
>
> > > Hello,
>
> > > I'm trying to replicate browser autocomplete on a login form.  For
> > > example, every time you go to the login page, I'd like the username
> > > and password field to be prepopulated with the username/password you
> > > used last.  Not only that, but if you clear the username and double
> > > click the field, the list of previous usernames you've entered should
> > > show up.  If you select one, the password field gets populated with
> > > that.
>
> > > Fortunately, with normal HTML the browser handles all of this for
> > > you.  But I can't figure out how to get this to work on IE6/7 on an
> > > GWT app.  In these browsers, it doesn't offer to save the usernames.
> > > I'll provide the code I have so far (this works in FF):
>
> > > public class Sandbox implements EntryPoint, ClickListener,
> > > KeyboardListener {
>
> > >     private Label label;
> > >     private FormPanel formPanel;
>
> > >     /**
> > >      * This is the entry point method.
> > >      */
> > >     public void onModuleLoad() {
>
> > >         formPanel = new FormPanel();
> > >         final VerticalPanel basePanel = new VerticalPanel();
> > >         formPanel.add(basePanel);
>
> > >         TextBox loginTB = new TextBox();
> > >         //without this, FF doesn't know where to place the data
> > >         loginTB.setName("name");
> > >         basePanel.add(loginTB);
>
> > >         PasswordTextBox passTB = new PasswordTextBox();
> > >         //without this, FF doesn't know where to place the data
> > >         passTB.setName("password");
> > >         basePanel.add(passTB);
>
> > >         Button loginBT = new Button("Submit");
> > >         basePanel.add(loginBT);
>
> > >         RootPanel.get("slot1").add(formPanel);
>
> > >         loginTB.addKeyboardListener(this);
> > >         passTB.addKeyboardListener(this);
> > >         loginBT.addClickListener(this);
>
> > >         label = new Label();
> > >         RootPanel.get("slot2").add(label);
> > >     }
>
> > >     public void onClick(Widget sender) {
> > >         //Without this, FF doesn't offer to remember the data
> > >         formPanel.submit();
> > >         if (label.getText().equals("")) {
> > >             SandboxService.App.getInstance().getMessage("Hello,
> > > World!", new MyAsyncCallback(label));
> > >         } else
> > >             label.setText("");
> > >     }
>
> > >     public void onKeyDown(Widget sender, char keyCode, int modifiers)
> > > {
> > >     }
>
> > >     public void onKeyPress(Widget sender, char keyCode, int modifiers)
> > > {
> > >     }
>
> > >     public void onKeyUp(Widget sender, char keyCode, int modifiers) {
> > >         // If enter is pressed lets forward the request to onClick
> > > method
> > >         if (keyCode == '\r') {
> > >             onClick(sender);
> > >         }
> > >     }
>
> > >     static class MyAsyncCallback implements AsyncCallback {
> > >         public void onSuccess(Object object) {
> > >             DOM.setInnerHTML(label.getElement(), (String) object);
> > >         }
>
> > >         public void onFailure(Throwable throwable) {
> > >             label.setText("Failed to receive answer from server!");
> > >         }
>
> > >         Label label;
>
> > >         public MyAsyncCallback(Label label) {
> > >             this.label = label;
> > >         }
> > >     }
>
> > > }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to