Hi,
by adding a button to submit the value (which did work as expected !) I found
out, that the button uses a different JScript function to submit.
Adding this to the choice tag produces the following jsp code (see below in
earlier posts for full jsp and bean code):
<tc:selectOneChoice valueChangeListener="#{myBean.processValueChange}"
value="#{myBean.choiceValue}"
id="combo1" onchange="Tobago.submitAction('combo1');">
<f:selectItems value="#{myBean.featureValue_1}" />
</tc:selectOneChoice>
This code works as expected, i.e. I click on the box, change the value, and
receive the appropriate event.
Why do I as a Tobago user have to manually add the onchange JavaScript code?
Is this the way it is supposed to work ? I don't have to do it with the buttton
!
My idea of Tobago was to free me of JavaScript issues, I would have thought
that Tobago generates the
appropriate onchange tag as soon as a ChangeListener is set ...
Thanks for your patience with me, but I'd appreciate any comments on this.
Yours,
Peter
> Please post your jsp with the value setted to the bean and the
> corresponding bean code.
>
> If the former choosen value is resetted to the first entry in the
> list, the binding of the value to the model doesn`t work.
>
> On 10/6/06, Peter Rabing <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I do get a response, the page is rendered again with the same combo, any
> > values I selected are resetted to the first entry in the list.
> >
> > I tried setting an initial value, but this doesn't make any difference.
> >
> > I've added a Phase Listener and debugged through it to see in which order
> > the phases occur:
> >
> > 1. RESTORE_VIEW
> > 2. APPLY_REQUEST_VALUES
> > 3. RENDER_RESPONSE
> >
> > I don't know how that is possible, I would have expected a "Process
> > Validation" phase after which me listener should be called.
> >
> > Any ideas ?
> >
> > Thanks,
> >
> > Peter
> >
> > > Hi,
> > >
> > > have you put any message/messages-tag into the page, to see if there
> > > comes some message from the jsf environment?
> > >
> > > Also set the "value" attribute of selectOneChoice to a value in the
> > > managed bean., like "Nabe_Name" or "Kette_Name". Maybe thats the
> > > problem.
> > >
> > > cheers,
> > >
> > > Gerald
> > >
> > > > Hi,
> > > >
> > > > "submit() " or "submit();" makes no difference, the form is submitted
> > > > when a value in the combo is
> > > > selected, sorry that I wasn't clear on this in my first post.
> > > >
> > > > My Bean does implement
> > > >
> > > > public void processValueChange(javax.faces.event.ValueChangeEvent
> > > > valueChangeEvent) {
> > > >
> > > > log.fine("*************\n**********\nreceived value change event
> > > > "+valueChangeEvent);
> > > >
> > > > throw new IllegalStateException("************ This can't be true
> > > > **********");
> > > > }
> > > >
> > > > And the form is rendered in the HTML, too.
> > > >
> > > > The bean is called to retrieve the values of the combo:
> > > >
> > > > public SelectItem[] getFeatureValue_1() {
> > > > SelectItem [] items = new SelectItem [2];
> > > >
> > > > items[0] = new SelectItem( "Nabe_Name", "Nabenschaltung",
> > > > "a desc");
> > > > items[1] = new SelectItem( "Kette_Name", "Kettenschaltung",
> > > > "a desc");
> > > >
> > > > return items;
> > > > }
> > > >
> > > > The whole page is fairly stripped down now, but it still doesn' work:
> > > >
> > > > <f:view >
> > > > <tc:page label="Page Title" id="page" >
> > > > <tc:panel>
> > > > <f:facet name="layout">
> > > > <tc:gridLayout border="0" rows="20px;fixed;*" />
> > > > </f:facet>
> > > >
> > > > <tc:out escape="false" value="Statisch" />
> > > >
> > > > <tc:selectOneChoice
> > > > valueChangeListener="#{mybean.processValueChange}" onchange="submit();"
> > > > value="">
> > > > <f:selectItems value="#{mybean.featureValue_1}" />
> > > > </tc:selectOneChoice>
> > > >
> > > > </tc:panel>
> > > > </tc:page>
> > > > </f:view>
> > > >
> > > >
> > > > Any other ideas ?
> > > >
> > > > Thank you very much,
> > > >
> > > > Peter
> > > >
> > > > >
> > > > > Does your bean implement the method public void
> > > > > processValueChange(javax.faces.event.ValueChangeEvent event) {...} ?
> > > > >
> > > > > and
> > > > >
> > > > > Is the form rendered in the HTML output ? May be missing <h:form> ?
> > > > >
> > > > > regards
> > > > >
> > > > > Marco
> > > > >
> > > > > --
> > > > > http://www.lenses-price-comparison.com
> > > > > http://www.perfume-price-comparison.com
> > > > >
> > > > >
> > > > >
> > > > > Peter Rabing schrieb:
> > > > > > Hi,
> > > > > >
> > > > > > I am trying to install a changelistener on a combo box. But
> > > > > > unfortunately, nothing happens, no listener is called.
> > > > > > The box is rendered correctly, and has the correct values on click
> > > > > > it is submitted, but the listener is never called and no exception
> > > > > > occurs:
> > > > > >
> > > > > > <tc:selectOneChoice
> > > > > > valueChangeListener="#{mybean.processValueChange}"
> > > > > > onchange="submit() ">
> > > > > > <f:selectItems value="#{mybean.featureValue_1}" />
> > > > > > </tc:selectOneChoice>
> > > > > >
> > > > > > My Bean implements the ValueChangeListener interface.
> > > > > >
> > > > > > I guess I am missing something essential here ..
> > > > > >
> > > > > > Thanks for your help.
> > > > > >
> > > > > > Peter
> > > > > >
> >
> > --
> > GMX DSL-Flatrate 0,- Euro* - Überall, wo DSL verfügbar ist!
> > NEU: Jetzt bis zu 16.000 kBit/s! http://www.gmx.net/de/go/dsl
> >
>
>
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer