Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2
-
Fix Version/s: 2.0.1, EE-1.8.2.GA_P03
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
-
ICEsoft Forum Reference:
-
Community Contribution:Yes
Description
Using tab or mouse to enter an ice:selectOneListbox fails to select the value if coming from a field with partialSubmit set to true.
<ice:inputText partialSubmit="true" immediate="true" size="6" value="#{registrationBean.CVV}"
id="RegistrationBillingCreditCardCVV" validator="#{registrationBean.validateCVV}" required="true"
requiredMessage="Invalid CVV" />
<ice:selectOneListbox id="RegistrationBillingExpirationDateMonth"
value="#{registrationBean.expMonth}" size="1" immediate="true" required="true"
requiredMessage="#{msg['error.cardExpMonth']}">
<f:selectItem itemLabel="Select..." itemValue="" />
<f:selectItems value="#{generic:getSelectMonths()}" />
</ice:selectOneListbox>
With the above code I would expect when entering the list from the input text to have the "Select..." item selected. But this doesn't happen. It selects it only for a brief moment.
<ice:inputText partialSubmit="true" immediate="true" size="6" value="#{registrationBean.CVV}"
id="RegistrationBillingCreditCardCVV" validator="#{registrationBean.validateCVV}" required="true"
requiredMessage="Invalid CVV" />
<ice:selectOneListbox id="RegistrationBillingExpirationDateMonth"
value="#{registrationBean.expMonth}" size="1" immediate="true" required="true"
requiredMessage="#{msg['error.cardExpMonth']}">
<f:selectItem itemLabel="Select..." itemValue="" />
<f:selectItems value="#{generic:getSelectMonths()}" />
</ice:selectOneListbox>
With the above code I would expect when entering the list from the input text to have the "Select..." item selected. But this doesn't happen. It selects it only for a brief moment.
The problem is caused by the MenuRenderer that doesn't select the item if its value is null or "" and the submitted and selected values are also null. The same way it checks if the component is a HtmlSelectOneMenu and selects the item in these conditions it should also check if it is a HtmlSelectOneListbox and do the same.