Suite à cet exemple http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?tab=editDataTable&cid=101317 J'ai créé un panneau modal utilisé pour modifier une entrée. La différence est que l'un de mes champs de inputtext a une boîte à suggestions:JSF2.0 + RichFaces3.3.3 suggestionBox dans un modalPanel
<h:inputText id="entryName" value="#{controller.currentItem.name}" validator="#{controller.entryNameValidator}"/>
<rich:suggestionbox id="suggestionBoxId" for="entryName" suggestionAction="#{controller.autocomplete}" var="result">
<h:column>
<h:outputText value="#{result.name}" />
</h:column>
</rich:suggestionbox>
<rich:message for="entryName"/>
Le problème est que lorsque le modal apparaît et je changer une seule lettre dans le « NomEntrée » la suggestion a lieu, mais quand il ne trouve pas suggestions il retourne la valeur modifiée (celle sans la lettre que je viens de supprimer) à la valeur d'origine (celle avant la suppression). Si par contre il trouve des suggestions, il retourne encore la valeur à l'ancien mais imprime également les suggestions dans le modal juste en dessous de "nomEntrée" (et non dans une boîte à suggestions, c'est juste du texte en gris). De plus, la suggestion ne se déclenche qu'une seule fois. Si je laisse dire "bonjour" à "enfer" il revient à "bonjour" et la prochaine fois que j'essaye de le modifier en "enfer" rien ne se passe.
Qu'est-ce que je fais mal? Oh aussi j'utilise exactement le même code dans ma vue jsf lors de l'ajout d'entrées (ce n'est pas un modal cependant, juste une table) et ça marche bien.
@Edit: apparemment l'enfermer avec un "a4j: région" aide un peu car au moins je suis capable de voir la boîte à suggestions (mais en arrière-plan, donc je dois définir le zindex) et dans la gauche coin du navigateur pas au-dessous du "nomEntrée" ET encore je ne peux pas cliquer dessus (il se trouve juste là et ne disparaît pas même après la fermeture du modal), les suggestions sont encore imprimées ci-dessous l'inputText (pas dans une suggestionBox et gris) et il se déclenche encore une seule fois ...
Je ne sais pas vraiment quel serait le but de cette mais cela n'a pas aidé. –