Projets
Pages enfant
  • Affichage dynamique suite à un clic-bouton

Vous regardez une version antérieure (v. /wiki/spaces/PROJ/pages/107872260/Affichage+dynamique+suite+%C3%A0+un+clic-bouton) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 5) afficher la version suivante »

Supposons que l'on souhaite afficher un formulaire (ou tout autre composant) de saisie dans une page (affichant d'autres choses) seulement si l'utilisateur clique sur un bouton

A compléter

Schéma ou exemple

Piste 1 : utiliser le renderer

... celui du form ou d'un panelGrid avec un booléen dans le contrôleur (ici showUserForm)

<h:panelGrid id="panelFormAddUser" columns="1" rendered="#{welcomeController.showUserForm}">
	<h:form id="formAddUser">
		[...]
	</h:form>
</h:panelGrid>

...activé par le bouton suivant

<p:commandButton value="Afficher formulaire" update="@form,panelFormAddUser,growl"
						action="#{welcomeController.showFormNewUser}" >
						</p:commandButton>

... qui donne, si true

<table id="panelFormAddUser"><tbody>
<tr><td>
<form id="formAddUser" name="formAddUser" method="post" action="/stylesheets/private/todo_private_demo.xhtml" enctype="application/x-www-form-urlencoded">
[...]
</form></td></tr>
</tbody>

</table>

...si false

rien du tout :-)

donc update="...panelFormAddUser..." n'a aucun effet puisqu'il n'est pas sur la page.

Il faut donc un contenant qui s'affiche toujours, qui sera vide par defaut et contiendra le formulaire à l'appel du clique

  • Aucune étiquette