OVH Cloud OVH Cloud

Boite de dialogue ???

1 réponse
Avatar
Sylvain
Bonjour,

J'aimerai afficher une boite de confirmation Yes/No générée depuis le
serveur et ensuite récupérer une valeur m'indiquant si on a cliquer sur Yes,
toujours du côté serveur.
J'ai essayé d'utiliser un hidden field, mais le pb est que la boite ne
s'affiche pas.
Voici le code que j'ai mis du coté serveur :

Response.Write("<script
language=""javascript"">window.Form1.btnConfirmUpdate.value =
confirm('Test');</script>")

Merci d'avance pour votre aide.

1 réponse

Avatar
Cyril S.
Response.Write écrit directement dans le flux de sortie ... et donc avant le
rendu de ta page.

Dans ce cas de figure, pour ton code JavaScript le controle btnConfirmUpdate
n'existe pas ... et donc aucun résultat (c'est un peu le principe de déclarer
une variable avant de l'utiliser) !

Une solution pour faire tout ca :

1 / Tu rajoute un champs caché qui te permettra de récupérer la valeur du
popup
2 / Tu rajoute un literal qui te permettra de mettre le code JavaScript
depuis le code C# ou VB.NET.

<input type="hidden" id="hidden1" runat="server" />
<asp:literal id="Literal1" runat="server" />

3 / Au niveau du code dans le Page_Load (C#) :

Literal1.Text = String.Format (@"
<script>
ctrl = document.getElementById ('{0}');
ctrl.value = confirm ('Question ?');
</script>", Hidden1.ClientID);

Voila.

"Sylvain" wrote:

Bonjour,

J'aimerai afficher une boite de confirmation Yes/No générée depuis le
serveur et ensuite récupérer une valeur m'indiquant si on a cliquer sur Yes,
toujours du côté serveur.
J'ai essayé d'utiliser un hidden field, mais le pb est que la boite ne
s'affiche pas.
Voici le code que j'ai mis du coté serveur :

Response.Write("<script
language=""javascript"">window.Form1.btnConfirmUpdate.value =
confirm('Test');</script>")

Merci d'avance pour votre aide.