Bonjour à tous,
Je suis actuellement chargé de travailler sur un projet J2EE utilisant JSF et notamment les composants RichFaces.
En outre, je rencontre un problème que je ne parviens pas à résoudre.
Ce que j'aimerai faire :
Je dispose d'un tableau présentant des informations.
Sur chaque ligne se trouve une "selectBooleanCheckbox".
Un lien de validation permet de demander la suppression de chaque élément dont la ligne est cochée par l'intermédiaire d'un pop-up de confirmation (ModalPanel).
Le problème :
Lors de l'affichage de ce pop-up, j'aimerai mettre en place deux cases à cocher permettant :
-> La suppression des fichiers liés au utilisateurs sélectionnés
--> Si on demande la suppression des fichiers des utilisateurs sélectionnées, alors on affiche une seconde checkbox demander si l'on souhaite forcer la suppression des dossier des utilisateurs à supprimer même s'ils contiennent des fichiers/dossiers d'autres utilisateurs.
J'espère avoir été clair.
Pour faire cela, j'ai le code suivant pour mon ModalPanel :
En fait, j'aimerai appeler la fonction JS suivante sur l'action de changement de valeur de ma première check box :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <rich:modalPanel id="deleteUsersPanel" minWidth="300" minHeight="100" autosized="true"> <f:facet name="header"> <h:panelGroup> <h:outputText value="#{msg['listusers.deletebuton']}" /> </h:panelGroup> </f:facet> <f:facet name="controls"> <h:panelGroup> <h:graphicImage value="../images/close.png" style="image" styleClass="hidelink" id="hidelink6" /> <rich:componentControl for="deleteUsersPanel" attachTo="hidelink6" operation="hide" event="onclick" /> </h:panelGroup> </f:facet> <h:outputFormat value="#{msg['listusers.messagedelete']}"> </h:outputFormat> <br /> <br /> <h:form> <h:panelGrid border="0" columns="2"> <h:selectBooleanCheckbox id="supprFiles" value="#{manageUserBean.deleteFiles}"> <a4j:support event="onclick" actionListener="#{manageUserBean.toDelete}" onclick="ChangeSupprFolder()"/> </h:selectBooleanCheckbox> <h:outputFormat value="#{msg['listusers.messagedeletefiles']}" style="font-size:0.8em; font-family:'Verdana';" /> </h:panelGrid> <h:panelGrid id="secondCheckBox" border="0" columns="2" style="display:none;"> <h:selectBooleanCheckbox id="forceSupprFolders" value="#{manageUserBean.forceDeleteFolders}" /> <h:outputFormat value="#{msg['listusers.messagedeletefolders']}" style="font-size:0.8em; font-family:'Verdana';" /> </h:panelGrid> <h:commandButton value="#{msg['listusers.yesOption']}" action="#{manageUserBean.deleteUsers}" style="float:right; margin-top:10px;" /> <h:commandButton id="cancelDeleteUsers" type="button" value="#{msg['listusers.noOption']}" style="float:left; margin-top:10px;" action="#{manageUserBean.unCheckUsersChecked}" /> <rich:componentControl for="deleteUsersPanel" attachTo="cancelDeleteUsers" operation="hide" event="onclick" /> </h:form> </rich:modalPanel>
Après avoir fait moult tentatives, je me rend compte qu'il n'appel pas ma fonction JS se trouvant dans le <head< de ma page jsp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script type="text/javascript"> function ChangeSupprFolder() { if (document.getElementById("supprFiles").value == "true") { document.getElementById("secondCheckBox").style.display = "block"; } else{ document.getElementById("secondCheckBox").style.display = "none"; document.getElementById("forceSupprFolders").value = "false"; } } </script>
Auriez vous une solution à ce problème ?
En vous remerciant par avance,
Burin Khazad
Partager