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>