Muchas gracias para tu ayuda! I have one last question. When the form
submits, I get all these validation errors, which makes sense, because
normally when I submit my form, I have to validate certain fields.
But in my case, when the value of that text box changes, I want to submit
the form (to re-populate another select menu) but I DON'T want to do
validation. Is there any way to skip the validation phase when the only
reason I want to reload the page is to re-populate the selectOneMenu?
Thanks, - Dave
Julián Osorio Amaya EuphoriaIT wrote:
>
> laredotornado escribió:
>> Could you show the method of the Javascript submit() function that you
>> are
>> talking about? I'm having a hard time imagining how what you list is
>> different than submitting the form.
>>
>> Thanks, - Dave
>>
>>
>>
>> Julián Osorio Amaya EuphoriaIT wrote:
>>
>>> laredotornado escribió:
>>>
>>>> Thanks, Julian. I have a follow-up question regarding your solution.
>>>> You
>>>> include an onchange Javascript handler where you submit the form, at
>>>> least,
>>>> I assume that's what submit() does. How do I submit the form, keep it
>>>> on
>>>> the same page, preserve the values that were already entered, and not
>>>> prompt
>>>> validation? Is it as simple as "this.form.submit();"?
>>>>
>>>> Thanks, - Dave
>>>>
>>>>
>>>>
>>>> Julián Osorio Amaya EuphoriaIT wrote:
>>>>
>>>>
>>>>> laredotornado escribió:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm using MyFaces 1.1.6 and Tomahawk 1.1.9. I have this
>>>>>> selectOneMenu
>>>>>> ...
>>>>>>
>>>>>> <h:selectOneMenu required="true"
>>>>>> validator="#{historicalTour.validateTime}" styleClass="hourMenu"
>>>>>> id="historicalTour1st_Preference_Hour"
>>>>>> value="#{historicalTour.prefs[0].time}">
>>>>>> <f:selectItems
>>>>>> value="#{historicalTour.timePrefItems}"/>
>>>>>> </h:selectOneMenu>
>>>>>>
>>>>>> When another text field on the page changes value, I would like to
>>>>>> re-populate the select menu with new options. I have discovered I
>>>>>> just
>>>>>> can't simply do that with Javascript, because when I submit the form
>>>>>> I
>>>>>> get a
>>>>>>
>>>>>> "Value is not a valid option"
>>>>>>
>>>>>> error. Any ideas how I can change my select menu options and keep
>>>>>> JSF
>>>>>> happy?
>>>>>>
>>>>>> Thanks, - Dave
>>>>>>
>>>>>>
>>>>>>
>>>>> You can use a Value Change Listener in your text field like this
>>>>> <h:inputText valueChangeListener="#{BackingBean.methodName}"
>>>>> onchange="submit()" />
>>>>>
>>>>> in your backing bean
>>>>>
>>>>> public BackingBean implements ValueChangeListener {
>>>>> public void processValueChange(ValueChangeEvent valueChangeEvent)
>>>>> {
>>>>> }
>>>>>
>>>>> public void methodName(ValueChangeEvent vce) {
>>>>> //change your select menu options
>>>>> }
>>>>> }
>>>>>
>>>>> --
>>>>> <?xml version = '1.0' encoding = 'UTF-8'?>
>>>>> <firma>
>>>>> <nombre>Julian Osorio Amaya</nombre>
>>>>> </firma>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>> the function of the javascript event "onchange" is invoke the method in
>>> the valueChangeListener="#{BackingBean.yourMethod}"
>>> but it's different from the submit action on <h:commandButton
>>> action="#{BackingBean.submitForm}" />
>>>
>>> --
>>> <?xml version = '1.0' encoding = 'UTF-8'?>
>>> <firma>
>>> <nombre>Julian Osorio Amaya</nombre>
>>> </firma>
>>>
>>>
>>>
>>>
>>
>>
> there's no body for the submit() function.
> Do a little test adding this to one of your forms
> <h:inputText value="#{BackingBean.value}"
> valueChangeListener="#{BackingBean.method}" onchange="submit()" />
> Every time you change the value in the <h:inputText /> tag there's a
> submit that invokes the valueChangeListener's method
> but it's different from a "real" form submit invoked by <h:commandButton
> /> tag
>
> --
> <?xml version = '1.0' encoding = 'UTF-8'?>
> <firma>
> <nombre>Julian Osorio Amaya</nombre>
> </firma>
>
>
>
--
View this message in context:
http://old.nabble.com/How-do-I-change-the-value-of-a-selectOneMenu-on-the-fly-tp26819601p26830365.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.