myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julián Osorio Amaya EuphoriaIT <joso...@euphoriait.com>
Subject Re: How do I change the value of a selectOneMenu on the fly
Date Wed, 16 Dec 2009 23:00:04 GMT
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>


Mime
View raw message