11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous !

Je cherche à afficher dynamiquement un formulaire.
J'en vois déjà qui hurlent à la mort, en disant que je n'ai pas cherché dans le forum...
En réalité, je l'ai fait, et j'ai trouvé ceci, qui se rapproche le plus de mon problème :
http://forum.alsacreations.com/topic-5-11405-1-RESOLUAfficher-un-formulaire-en-fonction-dun-checkbox.html

Mon souci est que j'ai beau retourner ça dans tous les sens, je n'arrive pas à l'adapter à ma problématique !

J'ai donc un formulaire de contact, dans lequel je demande au client le nombre d'enfants qu'il a. En fonction de ce nombre, je souhaiterai faire apparaître directement en dessous un nombre de ligne avec [un input text "Prénom" et 3 liste pour la date de naissance] correspondant au nombre d'enfants !

J'ai tenté le coup avec un "while", mais je n'arrive pas à récupérer le nombre sorti par mon "select" au dessus qui me donne le nombre de gamins...

Le bout de code qui va bien (que j'ai raccourci, pour ne pas alourdir le tout avec les gros select de date de naissance...)

<form name="mail_contact" action="contact.php" method="post" enctype="text/plain">
     Nom : &nbsp;<input type="text" name="nom" size="25" required> &nbsp;&nbsp;&nbsp; Prénom: <input type="text" name="prenom" size="25" required><br/><br/>
     Email : <input type="email" name="mail" size="67" required><br/><br/>
     Tél : &nbsp; &nbsp; <input type="text" name="tel" size="25" maxlength="10" required><br/><br/>
     Votre famille :<br/>
     Nombre d'enfants nés où à venir : <select name="nb_kids" style="background: #a2c8c8;">
     	<option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
     		</select>
            <br/><br/>
     <?php
	 	$nb = 0;
		
	 	while ($nb <= $nb_kids)
		{
			?>
			Prénom: <input type="text" name=<?php echo "prenom_kid".$nb+1 ?> size="25"> &nbsp; Date de naissance : <select name=<?php echo "nai_jour_kid".$nb+1 ?>></select>
            <?php
			$nb++;
		}
	 ?>
     <br/><br/>
     Ecrivez un gentil message à de gentilles photographes:<br/>
     <textarea name="message" rows="8" cols="74"></textarea>
     <br/><br/>
     <input type="submit" name="mail_envoie" id="submit" value="Envoyer" class="bouton" style="background: #a2c8c8; width: 95px; height: 28px; float: right; margin: 0 110px 0 0;" />
     <hr style="visibility:hidden; clear:both;">
     </form>


Voilà ! Je crois que vous avez tout ce qu'il vous faut !

Merci à vous, et j'espère à bientôt !

Olivier.
Bonjour,
Je ne vois pas une once de Javascript dans ton code : tu ne te serais pas trompé de forum ? Ce que tu nous présente c'est plutôt du Php - contrairement au lien que tu cites.
Il est possible de faire ce que tu veux dans les deux langages, chacun ayant ses inconvénients comme ses défauts.
À mon avis tu mélanges un peu les deux, mais peut être que je me trompe si c'est juste une erreur de forum.

Reviens nous voir avec des précisions.
Bonsoir !

Non, en effet, pas de Javascript... pour le moment ! Je n'ai rien contre, je n'ai juste aucune idée de comment insérer ce qu'il faudrait, d'ou ma demande d'aide !

Mon essai PHP n'ayant pas fonctionné, probablement de part ma non-expertise dans le domaine, j'ai envisager de poster ici pour avoir une aide en javascript.

C'etait visiblement pas clair du tout, j'en convient aisément...
Bonjour,

je croit que tu n'as pas bien saisi le php , c'est un language qui s’exécute AVANT l'envoi de la page au client (coté serveur) , ta boucle est donc exécutée AVANT que l'utilisateur n'ai rentré son choix

Tu utilise une variable $nb_kids , si elle doit représenter le select "nb_kids" (qui n'a pas été encore choisi par le client) , il faut:
-que tu poste sa valeur (en utilisant un formulaire qui poste sur sa propre page ou en AJAX
-puis que tu récupère la valeur en utilisant (en php)
$nb_kids=$_POST["nb_kids"];

car il n'est pas possible de récupérer la valeur de quelque chose qui n'est pas encore été choisi ^^

Il y a aussi une solution en javascript (qui serai plus simple je pense mais je suis une bille dans ce domaine ^^) mais si tu veut faire ça en php tu n'est pas dans la bonne catégorie .

Je ne sait pas si c'est très clair mais bon google est ton amis je pense qu'il te donnera de meilleure réponse que la mienne Smiley cligne

Bonne soirée
Je sais que je ne suis pas dans la bonne catégorie pour le php Smiley lol Mais justement, je ne veux pas le faire en php !!!

D'ou le fait que je poste dans la section Javascript !

Enfin, j'ai déjà cherché sur google, et j'ai en effet trouvé des bouts de trucs, qui m'ont souvent renvoyés ici d'ailleurs, mais comme dit dans mon premier message, je n'arrive pas a adapter à mon code à moi, n'ayant pour ainsi dire jamais fait de JS Smiley ohwell

Je vais continuer à chercher...

Merci pour vos réponses en tout cas et merci pour ton explication calamar31, je comprends mieux pourquoi ça ne fonctionnait pas (et ça ne risquait pas...)