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>

Reply via email to