Hello,

J'utilise RichFaces en version 3.0.1, avec Ajax4JSF en version 1.1.1, et je rencontre un problème bizarre :

J'ai par exemple ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<h:inputText value="#{myBean.inputValue}">
    <a4j:support event="onchange" actionListener="#{myBean.doChangeResult}" reRender="myForm"/>
</h:inputText>
Comme ça, ça marche c'est impeccable.
Maintenant, je change mon code pour ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<h:inputText value="#{myBean.inputValue}">
    <a4j:support event="onchange" actionListener="#{myBean.doChangeResult}" reRender="myForm"/>
    <my:clientValidation type="required"/>
</h:inputText>
Ce que fait mon composant <my:clientValidation/>, c'est d'ajouter un appel à une méthode Javascript dans le onchange du composant parent.

Dans le HTML généré, j'ai ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<input type="text" name="myForm:j_id580"  onchange="hideAlarm(this);A4J.AJAX.Submit('_viewRoot',null,event,{'parameters':{'j_id581':'j_id581'} ,'actionUrl':'/xxx/mytodolist.jsf'} );"/>
Donc lorsque je modifie la valeur de ce champ, une requête AJAX est bien envoyée au serveur, mais ma méthode doChangeResult n'est pas appelée.
En utilisant <a4j:log/> m'affiche :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
warn[14:22:59,498]: No information in  response about elements to replace

---

Autre chose étrange (je trouve) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 <h:inputText value="#{myBean.inputValue}" onchange="">
     <a4j:support event="onchange" actionListener="#{myBean.doChangeResult}" reRender="myForm"/>
 </h:inputText>
Le composant <a4j:support> n'ajoute pas son code Javascript dans le onchange du inputText.

Avez-vous une idée de pourquoi ça ne marche pas ?
Est-ce que cela fonctionne avec RichFaces 3.1 ?