1 Reply Latest reply on Jun 9, 2008 4:20 AM by Ilya Shaikovsky

    a4j:support disableDefault property does not work in IE

    Sergio Del Valle Newbie


      I have the following code snipet

      <a4j:form id="planillaForm" ajaxSingle="true" ajaxSubmit="true"
       <h:panelGrid cellpadding="2" cellspacing="0"
       columnClasses="col1,col2,col3,col4" columns="4"
       <h:outputLabel for="estacion" value="Estacion:"/>
       <h:inputText id="estacion" label="Estacion" maxlength="4" required="true"
       size="5" style="margin-right: 20px"
       <a4j:support action="#{RegistrarPlanilla.findEstacion}"
       ajaxSingle="true" disableDefault="true" event="onkeyup"
       onsubmit="if (event.keyCode != 13) return false"
       <h:outputText id="estacionNombre"
       <rich:message id="estacionMessage" for="estacion" errorClass="error"
       infoClass="info" showDetail="false" showSummary="true"
       <f:facet name="passedMarker">
       <h:graphicImage value="images/passed.png"/>
       <f:facet name="errorMarker">
       <h:graphicImage value="images/error.png"/>
       <a4j:outputPanel id="empleadoPanel" layout="block">
       <h:panelGroup layout="block" style="margin-top: 20px"
       rendered="#{SessionBean.estacion != null}">
       <h:commandButton id="saveButton" action="#{RegistrarPlanilla.save}"

      Everything works fine in FireFox, but when I try the page in IE 7, the first time it works fine, I type the value for estacion and when I press Enter, the empleadoPanel contents are shown, note part of the contents is the saveButton button, if I go and change the value for estacion and press Enter again IE fires the saveButton click event, so I get validation errors from the empleadoPanel panel instead of getting the panel refreshed according to the new value.

      I think this is related directly with IE, because the generated code for the inputText estacion, is

      <INPUT id=main:planillaForm:estacion onkeyup="if (event.keyCode != 13) return false; A4J.AJAX.Submit('_viewRoot', 'main:planillaForm', event, {'control':this, 'parameters':{'main:planillaForm:j_id27':'main:planillaForm:j_id27', 'ajaxSingle':'main:planillaForm:estacion'} , 'actionUrl':'/akron/main.jsf'} ); return false;" style="MARGIN-RIGHT: 20px" maxLength=4 size=5 value=6614 name=main:planillaForm:estacion>

      and it looks just fine for me, anyway hope someone knows how to avoid this behavior.