I encountered with problem: in IE8 don’t work event in f:ajax and don’t update other components after change value.
<h:selectBooleanCheckbox id="someId"
value="#{someBean.showEmpty}"
title="#{i18n['button.showEmpty']}">
<f:ajax event="change"
listener="#{someBean.changeShowEmpty}"
execute=":someForm @form" render=":messages :someForm @form" />
</h:selectBooleanCheckbox>
In Chrome, Opera, Firefox – it works.
Thanks for the help.
That’s indeed “expected” behaviour for MSIE. It will only work on 2nd change and forth, because MSIE thinks that the 1st click is in essence not a change. You should be listening on the
clickevent instead. That’s also exactly what the<f:ajax>already by default does for a<h:selectBooleanCheckbox>. Just remove theeventattribute altogether.The
<f:ajax event>defaults to"valueChange"inUIInputcomponents and defaults to"action"inUICommandcomponents. InUIInputcomponents which generate radio button or checkbox, it will then generateonclick. In otherUIInputcomponents (text fields, textarea, dropdowns, etc) it will generateonchange.Unrelated to the concrete problem, an other
<h:form>can not be processed in contrary to what you seem to think inexecuteattribute, simply because its values are not submitted along with the submit of the current form. But that’s another story.