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>

Reply via email to