La question est dans le titre, je souhaite afficher une boîte de dialogue avec un bouton ok et un bouton annuler.
La question est dans le titre, je souhaite afficher une boîte de dialogue avec un bouton ok et un bouton annuler.
En javascript tu as la fonction confirm() qui permet de faire ca.
Et pour mettre ton javascript depuis ton code Java, plusieurs options dont
http://cwiki.apache.org/WICKET/calli...s-onclick.html et les templates
++
Ok, mais comment je fais pour récupérer la valeur de retour de confirm() ?
Bonjour,
en fait la fonction confirm prend en parametre le message que tu veux afficher et te renvoi "true" si tu clique sur OK et "false" si tu clique sur Annuler.
Donc tu peux faire un code du style :
if(confirm('Êtes vous sur de vouloir faire cela?')){
//code qui s'execute si tu clique sur OK
} else {
//code qui s'execute si tu clique sur Annuler
}
Voila en espérant que cela te servira
++
Ca, c'est du JavaScript !! Le code que je dois exécuter en cas de validation ou annulation est écrit en wicket, donc je ne peux pas appeler ces fonctions en JS.
J'ai tout de même un peu avancé :
Apparemment, la fonction onClick() est appelée lorsque le bouton "valider" de la boite de dialogue est cliquée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SimpleAttributeModifier behavior = new SimpleAttributeModifier("onclick", "return confirm('valider');"); Link<SouscriptionPage> link = new Link<SouscriptionPage>("validation") { @Override public void onClick() { [...] } }; link.add(new Image("...", "...")); link.add(behavior);
Le problème est que j'ai aussi besoin de savoir quand le bouton "annuler" est cliqué. Or il ne semble pas y avoir d'évènement rattaché à ce bouton.
Désolé mais je ne connais pas le wicket. Je pensais que tu voulais du javascript comme tu n'avais pas précisé le langage.
Là je ne peux plus t'aider désolé.
Bon courage et bonne continuation
++
As tu essayé cela : http://cwiki.apache.org/WICKET/calli...s-onclick.html
=> je pense que si la personne clique cancel sur l'alert affichée, alors tout simplement le retour serveur n'est pas fait.
dans le cas d'un link, cela signifie que onClick n'est pas appelé.
=> je dis ça sans avoir vérifié plus en détails : j'aurai le temps ce soir.
++
Dans mon cas, j'ai absolument besoin de recevoir un évènement si l'utilisateur clique sur annuler.
Finalement j'ai trouvé une solution. Je crée ma propre boite de dialogue avec la classe org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.
Partager