Problème avec <a4j:support/>
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:
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:
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:
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:
1 2
|
warn[14:22:59,498]: No information in response about elements to replace |
---
Autre chose étrange (je trouve) :
Code:
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 ?