Quand je fais un reRender via a4j: support de Richfaces (3.3.3) sur un h: selectOneRadio, j'ai un comportement étrange (pas toujours).JSF (1.2) bug quand reRender h: selectOneRadio
Voici ma section xhtml avec le h: selectOneRadio:
<h:selectOneRadio id="toto" value="#controller.toto}" >
<f:selectItem itemLabel="#{bundle['oui']}"
itemValue="#{true}" />
<f:selectItem itemLabel="#{bundle['non']}"
itemValue="#{false}" />
</h:selectOneRadio>
<rich:message for="toto" />
Quand je vais dans un navigateur je reçois ce code html:
<table id="formulaire:toto" >
<tbody>
<tr>
<td>
<input id="formulaire:toto:0" type="radio" onchange="A4J.AJAX.Submit('formulaire',event,{'control':this,'similarityGroupingId':'formulaire:support','parameters':{'ajaxSingle':'formulaire:toto','formulaire:support':'formulaire:support'} })" value="true" name="formulaire:toto">
<label for="formulaire:toto:0"> oui</label>
</td>
<td>
<input id="formulaire:toto:1" type="radio" onchange="A4J.AJAX.Submit('formulaire',event,{'control':this,'similarityGroupingId':'formulaire:support','parameters':{'ajaxSingle':'formulaire:toto','formulaire:support':'formulaire:support'} })" value="false" name="formulaire:toto" checked="checked">
<label for="formulaire:toto:1"> non</label>
</td>
</tr>
</tbody>
</table>
Tout va bien.
Mais lorsque celui-ci est rerender par un autre composant, les changements html et le premier élément radio est hors de la table:
<input type="radio" onchange="A4J.AJAX.Submit('formulaire',event,{'control':this,'similarityGroupingId':'formulaire:support','parameters':{'ajaxSingle':'formulaire:toto','formulaire:support':'formulaire:support'} })" value="true" id="formulaire:toto:0" name="formulaire:toto" checked="checked">
<label for="formulaire:toto:0"> oui</label>
<table id="formulaire:toto">
<tbody>
<tr>
<td>
<input type="radio" onchange="A4J.AJAX.Submit('formulaire',event,{'control':this,'similarityGroupingId':'formulaire:support','parameters':{'ajaxSingle':'formulaire:toto','formulaire:support':'formulaire:support'} })" value="false" id="formulaire:toto:1" name="formulaire:toto"><label for="formulaire:toto:1"> non</label>
</td>
</tr>
</tbody>
</table>
Il est un comportement très étrange et il casse mon style.
Pourquoi le reRender casse le code html?
Merci.
Quel composant êtes-vous nouveau rendu? – user1983983
Je réengendrer la h: selectOneRadio d'un autre composant comme ceci: \t \t \t \t \t \t \t \t \t \t \t \t h: selectOneRadio> –
Kiva