Bonjour!
J'ai un bout de code qui fait buguer mon appli et personne ne comprend pourquoi... J'espère que vous pourrez m'éclaircir un peu plus
A la base, j'ai une page jsf qui marche. En cliquant sur le bouton de sauvegarde, tout marche, aucune erreur n'est listée et j'ai bien le résultat recherché.
Voici le code du bouton de sauvegarde:
J'ai voulu rajouter ensuite une liste déroulante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <a:commandButton id="cmdBtnSave" value="#{_common['validateButton']}" action="#{projectAction.save}" <!-- enregistrement des données de la page --> onclick="projectGetSelectedIds();waitStart()" <!-- enregistrement d'une liste d'utilisateurs puis waitStart() change l'aspect de mon curseur en sablier --> oncomplete="waitStop();resetOldIds('projectsListId');showMessage('info', '#{_common.closeWindow}')" <!-- je remets mon curseur sous forme de flèche, je reinitialise mes variables et je montre une fenêtre qui confirme la sauvegarde ou notifie une erreur --> reRender="rightAppPanel,pnlMessages" <!-- je rafraichis ma fenêtre --> styleClass="buttonDefault" />
Voici le code de ma liste déroulante:
Ce code marche aussi et ne génére aucune erreur... Cependant, il fait planter le fonctionnement du bouton de sauvegarde. Aucune erreur n'est générée mais je n'obtiens pas le résultat espéré (à savoir, redirection vers une autre page).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <h:selectOneMenu id="selAdminPrj" value="#{projectAction.selectedAdmin}" style="width:170px;" class="fieldNormal" required="true"> <f:selectItems value="#{projectAction.adminList}"/> <!-- adminList est bien une liste de SelectItem et n'est pas nulle, la liste déroulante est bien affichée --> </h:selectOneMenu>
En cliquant sur le bouton de sauvegarde, les instructions de la propriété "onclick" sont exécutées. La fonction "waitStop()" du "oncomplete" est executée. Mais pas le reste! L'action "projectAction.save" n'est pas executée (elle est complètement ignorée car la méthode n'est pas appelée) et les fonctions js qui viennent après le waitStop() sont ignorées aussi...
Je rappelle que sans la liste déroulante, le code tourne parfaitement et j'obtiens le résultat attendu. Je précise aussi que les variables utilisées pour le bouton et la liste déroulante sont indépendantes les unes des autres...
Est ce que vous voyez une erreur apparente ou des suggestions concernant la source du problème?
Merci d'avance pour vos suggestions![]()
Partager