The following code displays a table with two columns - h:inputText and its length. The length is recalculated on the server as user types:
<rich:dataTable id="dt1" value="#{RichBean.data}" rows="20" var="dto">
<h:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:inputText id="name" value="#{dto.name}">
<a4j:support reRender="length" event="onkeyup">
<a4j:ajaxListener type="org.ajax4jsf.ajax.ForceRender" />
</a4j:support>
</h:inputText>
</h:column>
<h:column>
<f:facet name="header">
<rich:spacer/>
</f:facet>
<h:outputText id="length" value="#{dto.length}"/>
</h:column>
</rich:dataTable>
the DTO's getLength() method just returns name.length().
Once user starts typing, the length column gets recalculated, but right after that input field loses focus. This makes typing almost impossible - user has to get focus back to the field after typing every 3-5 letters.
I tested with h:dataTable, rich:dataTable and tomahawk's t:dataTable in both FF and IE - same problem.
The version I used is RichFaces 3.0.0 with Ajax4jsf 1.1.0.
JSF implementation - Myfaces 1.1.1
This problem doesn't occur if inputField is used outside the table though.
P.S. Guys, is this the right place to post bugs or shall I do it directly in Jira?
P.P.S Just tested with snapshot version RF 3.0.1 + A4J 1.1.1 and it seems to be fixed in there. Unfortunately, I can't use it until bug RF-37 is fixed...