Vineet is exactly right, just to further flesh it out:

You want to add a subclass of AbstractDefaultAjaxBehavior to your page, this
automatically contributes the wicket-ajax.js file to your page which exposes
these JavaScript methods for you:

===================
function wicketAjaxGet(url, successHandler, failureHandler, precondition,
channel)
and
function wicketAjaxPost(url, body, successHandler, failureHandler,
precondition, channel)
===================

(paraphrased from Wiki)

The part I'm not clear on is which URL do you call with the JavaScript and
which method on the server side is intercepting the GET (or POST)?

That information seems to be missing from the wiki unless it's easier than I
realize and I'm overthinking this...

On Fri, Feb 12, 2010 at 2:15 PM, vineet semwal
<vineetsemwal1...@gmail.com>wrote:

> you can do the same thing with wicket ie. on 5th char typed,make a
> ajaxcallback to wicket,
>
> 1)you need to add behavior to component and implement it's respond method
> the way it suits your need.
> 2)in the js part you  will make a callback on 5th char typed,callbackurl
> you
> will get from the behavior you
> added to the component.
> take a look at
>
> http://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+from+Javascript
>
> On Sat, Feb 13, 2010 at 2:15 AM, Steven Haines <lyg...@yahoo.com> wrote:
>
> > Hi,
> >
> > I
> > would like to add AJAX behavior to an application that sends an update
> > to my application after a certain number of characters have been typed.
> > For example, if the user is entering a zipcode, I would like a callback
> > to my application to be made after the user enters the fifth character.
> >
> > I've
> > written code using OnChangeAjaxBehavior that sends messages back to my
> > application after every character has been typed, such as the following:
> >
> >    final TextField<String> zipcodeField = new TextField<String>(
> "zipcode"
> > );
> >    form.add( zipcodeField.setRequired( true ) );
> >    OnChangeAjaxBehavior zipcodeUpdated = new OnChangeAjaxBehavior() {
> >      @Override
> >      protected void onUpdate( AjaxRequestTarget target ) {
> >        System.out.println( "Zipcode value: " +
> > zipcodeField.getDefaultModelObjectAsString() );
> >      }
> >    };
> >    zipcodeField.add( zipcodeUpdated );
> >
> >
> > I
> > could check to see the size of the zipcodeField (in this example), but
> > it makes my application more chatty than it needs to be. I also tried
> > using onblur, which works fine, but does not satisfy my business
> > requirements:
> >
> >  final TextField<String> zipcodeField = new TextField<String>( "zipcode"
> );
> >  form.add( zipcodeField.setRequired( true ) );
> >
> >  AjaxFormComponentUpdatingBehavior zipcodeOnBlur = new
> > AjaxFormComponentUpdatingBehavior( "onblur" ) {
> >      @Override
> >      protected void onUpdate( AjaxRequestTarget target ) {
> >          System.out.println( "Zipcode value (form component): " +
> > getFormComponent().getModelObject() );
> >      }
> >  };
> >  zipcodeField.add( zipcodeOnBlur );
> >
> >
> >
> > Prior
> > to using Wicket (which I'm currently prototyping for my company), we
> > would handle this logic in JavaScript (observe changes to the field and
> > when the user enters the fifth character then we made an AJAX call back
> > our Struts 2 application.)
> >
> > What is the best way to achieve the same end using Wicket?
> >
> > Thanks, in advance, for your help!
> > Steve
> >
> > P.S.
> > I started using Wicket as part of an article series (because of all of
> > your passion for it) and I have to say all of you are doing incredible
> > work - I love it.. Here's the link to the article series in case any of
> > you are interested:
> > http://www.informit.com/guides/content.aspx?g=java&seqNum=529
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
>
>
> --
> regards,
> Vineet Semwal
>

Reply via email to