-
1. Re: selectOneMenu rerender inputText fail inside the form.
sergeysmirnov Sep 23, 2007 10:54 PM (in response to jimmy6)Are you sure, it is not rendered?
hint: The value is not changed and the the component not rendered are not the same things.
Your t:selectOneMenu tag has not pair ">". Does it mean the code snippet is not the same that you really have -
2. Re: selectOneMenu rerender inputText fail inside the form.
jimmy6 Sep 23, 2007 11:05 PM (in response to jimmy6)I just copy part of the code. I have traced the jsf life cycle. I just can tell you is the getter of the inputText was not be called. It work for selectOneMenu only and not inputText. I copy all my code to here. the test inputText work because it is outside the form. The meterDesc, meterType, meterUnit will not be rerender. Actually 'test' and 'meterDesc' is using the same bean.
<h:inputText id="test" value="#{pmEquipMeterBean.equipMeter.equipMeterDesc}" ></h:inputText> <h:form id="formEquipMeter"> <rich:simpleTogglePanel id="equipMeterPanel" ajaxSingle="true" switchType="client" opened="false" label="Meters" headerClass="pagetitle" width="99%"> <a4j:region > <h:panelGrid columns="3" width="100%" columnClasses="labelColumn, middleColumn, inputColumn"> <h:panelGroup> <pvs:outputLabel for="equipMeter2" value="Equipment" id="equipMeter2Label" forceId="true"/> </h:panelGroup> <h:outputText value=":" /> <h:panelGroup> <t:selectOneMenu id="equipMeter2" valueChangeListener="#{pmEquipMeterBean.equipChange}" forceId="true" value="#{pmEquipMeterBean.pmEquipMeter.id.equipId}" styleClass="text" required="true" onfocus=" this.style.borderWidth = '2px'; " style="border-width: 1px; margin: 1px; background-color: rgb(233, 240, 245); border:1px solid #3664A1"> <f:selectItems value="#{pmEquipMeterBean.pmEquipsSelectItem}" /> <a4j:support reRender="messages, equipMeter2DivMsg, meter" event="onchange" ajaxSingle="true" ignoreDupResponses="true" bypassUpdates="false" onsubmit="this.style.margin = '1px'; this.style.borderWidth = '1px'; this.style.backgroundColor = '#E9F0F5';"/> </t:selectOneMenu> <a4j:outputPanel id="equipMeter2DivMsg" > <t:message id="equipMeter2Msg" for="equipMeter2" errorClass="error" fatalClass="error" /> </a4j:outputPanel> </h:panelGroup> <h:panelGroup> <pvs:outputLabel for="meter" value="Meter No." id="meter2Label" forceId="true"/> </h:panelGroup> <h:outputText value=":" /> <h:panelGroup> <t:selectOneMenu id="meter" forceId="true" value="#{pmEquipMeterBean.pmEquipMeter.id.equipMeterId}" styleClass="text" required="true" onfocus=" this.style.borderWidth = '2px'; " style="border-width: 1px; margin: 1px; background-color: rgb(233, 240, 245); border:1px solid #3664A1"> <f:selectItems value="#{pmEquipMeterBean.equipMeters}" /> <a4j:support actionListener="#{pmEquipMeterBean.meterChange}" reRender="messages, meterDivMsg, meterDesc, meterType, meterUnit, test" event="onchange" ajaxSingle="true" ignoreDupResponses="true" bypassUpdates="false" onsubmit="this.style.margin = '1px'; this.style.borderWidth = '1px'; this.style.backgroundColor = '#E9F0F5';"> </a4j:support> </t:selectOneMenu> <a4j:outputPanel id="meterDivMsg" > <t:message id="meterMsg" for="meter" errorClass="error" fatalClass="error" /> </a4j:outputPanel> </h:panelGroup>
-
3. Re: selectOneMenu rerender inputText fail inside the form.
jimmy6 Sep 23, 2007 11:21 PM (in response to jimmy6)It work for h:outputText also but not inputText.
-
4. Re: selectOneMenu rerender inputText fail inside the form.
sergeysmirnov Sep 23, 2007 11:30 PM (in response to jimmy6)So, your code works according to the JSF specification. It might be a big surprise (or right to say - a bug) if inputText is rendered with new value in this particular case.
I will try to find an answer between the old threads. Just a moment... -
6. Re: selectOneMenu rerender inputText fail inside the form.
jimmy6 Sep 24, 2007 10:57 AM (in response to jimmy6)
whenever component see non-null submitted value during rendering ? it will use it; otherwise if there is non-null local value ? it will use it; finally if no local or submitted values exists ? component will use value from the model
Thanka alot. But NULL value mean empty also. value submitted from empty inputText is null? -
7. Re: selectOneMenu rerender inputText fail inside the form.
jimmy6 Sep 24, 2007 11:25 AM (in response to jimmy6)The local value mean the value from getter in restore view phase?
-
8. Re: selectOneMenu rerender inputText fail inside the form.
sergeysmirnov Sep 24, 2007 12:47 PM (in response to jimmy6)The local value is a value of the component inside the Component Tree. How it restored (from getter or from other source) is up to concrete component
-
9. Re: selectOneMenu rerender inputText fail inside the form.
jimmy6 Sep 25, 2007 4:23 AM (in response to jimmy6)This type of thing really rubbish. Then what is the value holding in component tree?????
Now i have problem for selectonemenu. I use javascript to manually select the value but cant get back the value. It like keeping the default value.Is it i cant use javascript to select it or what is missing. it will gave me option is invalid error message. I know it cant populate back the selectitems