Pourquoi mon action dans une modal ne s'exécute pas ?
J'essaye de coder une modale pour permettre à l'utilisateur de confirmer la suppression d'entités en vain.
Voici le code volontairement simplifié :
1) la commande que j'exécute pour préparer la suppression des entités et pour afficher la modale :
Code:
1 2 3 4 5 6 7
| <h:form>
<a4j:commandButton value="a4j:commandButton" action="#{contractDeletor.prepareJob}"
reRender="deleteContractsConfirmModalPanelId" ajaxSingle="true"
oncomplete="Richfaces.showModalPanel('deleteContractsConfirmModalPanelId',{width:400, top:200})" />
</h:form>
<a4j:include viewId="/ContractDeletionModal.xhtml" rendered="true" /> |
2) la modale en question :
Code:
1 2 3 4 5 6 7 8 9 10
| <rich:modalPanel id="deleteContractsConfirmModalPanelId"
autosized="true">
<div id="deleteContractsConfirmModalPanelDivId">
<form id="deleteContractsConfirmModalPanelForm">
<a4j:commandButton value="a4j:commandButton"
action="#{contractDeletor.doJob}"
oncomplete="Richfaces.hideModalPanel('deleteContractsConfirmModalPanelId');"
reRender="deleteContractsConfirmModalPanelDivId" /></form>
</div>
</rich:modalPanel> |
3) et enfin l'action correspondante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
@Name("contractDeletor")
public class ContractDeletor extends BaseListAnimator implements
Serializable {
private static final long serialVersionUID = -1465053605583307302L;
public String prepareJob() {
log.info("Prepare the job");
return null;
}
public String doJob() {
log.info("Do the job");
return null;
}
} |
L'action #{contractDeletor.prepareJob} est bien exécutée, la modale s'affiche correctement au retour de l'action mais quand je clique sur le bouton de la modale il se produit un postback et l'action #{contractDeletor.doJob} n'est pas exécutée.
J'ai essayé de tout mettre dans une même vue (commande et modale) mais ça ne marche pas mieux.
C'est probablement couillon mais je ne vois pas.
Merci d'avance