Hello tout le monde !
J'ai un petit soucis sur une fonction en JavaScript que j'appelle lors d'un clique de bouton, qui est censé m'afficher une "alerte" représentant un message de confirmation.
En fait, l'utilisateur sélectionne une ligne de mon GridView (qui représente une personne), puis un bouton image "supprimer" apparait (jusque là, tout va bien). Lorsque je clique sur le bouton "supprimer", j'aimerai qu'une box apparaissent avec un jolie message du style ("Êtes-vous certain de vouloir supprimer ce contact?"). Si l'utilisateur répond "Ok", alors une méthode de suppression du contact se lance, sinon rien ne se passe. Le hic, c'est que je pense que je m'y prend de travers. Dans ma page aspx, avant mon body, j'ai ce code en JS:
Ensuite, j'ai un onClick sur une imageButton, avec comme code C#:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <script type="text/javascript"> function confirmSubmit() { var msg = "Etes vous sûr de vouloir supprimer ce contact?"; if (confirm(msg)) { return true; } else { return false; } } </script>
Donc déjà, mon if(true) n'est pas bon, j'aimerai savoir si vous aviez une idée de comment récupérer la réponse de l'utilisateur, ou du moins ce que retourne la méthode?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 protected void ImageButtonSuppr_Click(object sender, ImageClickEventArgs e) { Response.Write("<body><script>return confirmSubmit();</script></body>"); if(true) { SupprimerContact(); } }
Ensuite, avec mon Response.Write, une erreur se produit: "Instruction 'return' en dehors d'une fonction".
Pourtant, quand j'écris ce code dans le Page_Load:
Cela me lance correctement la petite box message. Bon, avec l'erreur "La référence d'objet n'est pas définie à une instance d'un objet" qui est dû au "if(true)" -- et qui n'est pas à écrire je sais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 protected void Page_Load(object sender, EventArgs e) { ImageButtonSuppr.Attributes.Add("onClick", "return confirmSubmit();"); if (true) { SupprimerContact(); } }
Le truc, c'est que pour moi, ça "lit le code pour rien", dans le sens qu'au moindre clique, hop, on "recharge" cette méthode donc au niveau du code c'est pas tip-top. J'aimerai que ça se lance vraiment en cliquant juste sur le bouton et pas au chargement de la page..
Je vous remercie par avance de votre aide.
Partager