Its ok to use Ajax, but is it the only way to update the page after a value is changed in a Select component ? If yes, wouldn't it be an improvement to be able to refresh the page without refreshing it and losing its state ?
*---------------------* *Muhammad Gelbana* http://www.linkedin.com/in/mgelbana On Sun, Jul 13, 2014 at 9:44 AM, Geoff Callender < geoff.callender.jumpst...@gmail.com> wrote: > By returning "this" you're doing a page refresh, which is an HTTP 302 > redirect, instead of an AJAX response. > > The redirect causes the browser to issue a second request - a fresh page > request - which will be freshly rendered by your stateless page class > without any knowledge of the value you set in the previous request. You can > see the 302 response and the second request with the browser's web > inspector or firebug. > > Here's a working example: > > > http://jumpstart.doublenegative.com.au/jumpstart7/examples/ajax/select1 > > Cheers, > > Geoff > > On 12 Jul 2014, at 11:55 pm, Muhammad Gelbana <m.gelb...@gmail.com> wrote: > > > I hope I selected a valid subject ! > > > > When I handle a VALUE_CHANGED event for a Select component. I receive the > > current value for the Select component as an event handler method > parameter. > > > > I use this parameter to set a member variable in the page's class. > > > > @OnEvent(component = "parameterType", value = > EventConstants.VALUE_CHANGED) > >> private Object pairParameterTypeChanged(ChariotTestTypePairParameterType > >> selectedType) { > >> this.parameterType = selectedType; > >> System.out.println("Type1: " + this.parameterType); > >> return this; > >> } > > > > > > In another part of the page, I use a Delegate to conditionally display a > > block. > > > > public Block getPairParameterInputBlock() { > >> System.out.println("Type2: " + this.parameterType); > >> if (this.parameterType == null) { > >> return null; > >> } > >> switch (this.parameterType) { > >> case TEXT: > >> return this.textPairParameterInput; > >> case NUMERIC: > >> return this.numericPairParameterInput; > >> default: > >> return null; > >> } > >> } > > > > > > What I'm facing there is that *this.parameterType* is always null and > never > > sees the value set to it in the Select component's event handler method ! > > > > I understand there could be other ways to achieve the same behavior but > why > > isn't this behaving as I expect ? > > > > *---------------------* > > *Muhammad Gelbana* > > http://www.linkedin.com/in/mgelbana > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >