insérer un formualire dans un javascript alert ( onload ) ?

Eléphant du PHP | 93 Messages

26 août 2008, 10:56

Bonjour à tous,
je code en PHP, et je ne connais que peu de choses à javascript.
Aussi j'ai besoin d'aide sur un point précis, qui peut-être vous fera sourire ou bondir, selon le degrès de la bêtise de ma demande, lol !

J'utilise une fonction de javascript très intéressante, qui est la suivante :

Code : Tout sélectionner

<script language="javascript"> function dechiffre() { alert("Vous venez de déchiffrer un espace de forêt.\n Vous pouvez désormais construire à cet endroit."); } </script>
Cela affiche non pas une pop up mais une boite de dialogue.

Or, j'aimerais que la boite de dialogue alert affiche un formulaire.
Ainsi, l'utilisateur du site clique sur un espace, et une boite de dialogue s'ouvrirait, contenant un formulaire à valider.
J'ai essayé plusieurs manières et la dernière ( et la plus proche d'un quelconque résultat ) est celle-ci :

Code : Tout sélectionner

<script type="text/javascript"> function construire() { alert("Choisissez le bâtiment à construire : \n <form action="?" method="post"><select><option value="1">Ferme</option><option value="2">Port</option><option value="3">Maison du Roi</option></select><input type="submit" value="Valider" /></form>"); } </script>
Evidemment, ça m'affiche le code dans une boite de dialogue.

Quelqu'un saurait-il me dire comment je peux procéder s'il vous plait pour que la boite de dialogue, et non une pop-up, m'affiche un formulaire ?


Merci d'avance.

Mammouth du PHP | 1353 Messages

26 août 2008, 11:00

Bonjour,

J'ai bien peur que cela ne soit pas possible.
Pour un "vrai" formulaire il faudra soit un pop up soit une nouvelle page...

La seule boite de dialogue qui autorise une interaction de l'utilisateur est le confirm, avec des boutons "OK" ou "Annuler"...

Code : Tout sélectionner

function construire() { reponse = confirm("Voulez vous construire ici ?"); if(reponse) construire_oui(); else construire_non(); }
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 4039 Messages

26 août 2008, 11:06

C'est en effet une hérésie que de vouloir mettre un formulaire dans un 'alert'. Ce n'est pas un élément html, il y a rien a faire dedans. Et ce serait mieux de ne plus l'utiliser du tout (sauf pour afficher des alertes..).

Ceci dit, pour ton souci, le mieux serait une fenêtre modale, comme thickbox pour jquery:
http://jquery.com/demo/thickbox/
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 93 Messages

26 août 2008, 11:07

OK.
Comme ça, je ne cherche pas pour rien ! lol

Merci pour la réponse rapide.

[EDIT : merci encore, je vais regarder du côté de la fenêtre modale, qui pourrait une solution intéressante. ]