Kent Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 Bonjour, Je souhaiteré savoir si quelqu'un avait déja afficher des champs supplémentaires dans un formulaire. Je m'explique : - Je gere des réservations pour un spéctacle, l'utilisateur peut choisir le nombre de place à reserver. Je voudrais que suivant le bouton radio que coche l'utilisateur ( une place, deux place, trois place ) il y est à chaque fois deux champs supplémentaire de formulaire qui s'affiche (Nom et prenom de la personne à qui la place est destiné). Exemple : si je coche 2 personne , en plus des champs nom et prenom me concernant j'ai 2 champs supplementaire avec nom de la deuxiemme personne prénom de la deuxiemme personnne. Merci de votre aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
dldstyle Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 (modifié) Bonjour Kent, pour faire cela je vois deux possibilités : * sur une même page avec un brin de javascript (je botte en touche) * sur deux pages avec du PHP (ou autre lanage dynamique) Je vais te parler de la seconde, celle que j'adopterai. Tes boutons radio serait sur la première et après validation, ton code php vérifie sur la seconde quel bouton a été coché. for($i=0; $i != $_GET['boucle']; $i++) { echo "Nom : <input name='nom" .$i. "' type='text'><br />" ."Prenom : <input name='prenom" .$i. "' type='text'><br />"; } Bon courage Modifié 24 Janvier 2007 par dldstyle Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 Salut, Tu peux faire comme ca : <script>function create_champ(i) {var i2 = i + 1;document.getElementById('noclie_inclus_'+i).innerHTML = '<input type="text" name="noclie_inclus_'+i+'" size="11" maxlength="15" value /></span> ';document.getElementById('noclie_inclus_'+i).innerHTML += (i <= 20) ? '<br /><span id="noclie_inclus_'+i2+'"><a href="java script:create_champ('+i2+')"><strong>Ajouter Un Tiers</strong></a></span>' : '';}</script> Puis dans ton code : <input type="text" name="noclie_inclus_1" value="<%=noclie_inclus%>" size="11" maxlength="15" /> <br> <span id="noclie_inclus_2"><a href="java script:create_champ(2)"><strong>Ajouter un Tiers</strong></a></span> C'est un bout de code. A toi de la modifier suivant tes besoins Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
adn Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 (modifié) Je précise juste ce que dis dldstyle qu'il n'y a nul besoin de 2 pages pour faire afficher le formulaire et le traiter, je préconise plutôt d'en avoir qu'une seule, c'est bien plus simple et cela permet la gestion des erreurs. Je dis çà par expérience car avant je le faisais aussi avec deux pages..... Première partie de la page: - traitement de des données reçues du formaulaire - gestion des erreurs Deuxième partie du formulaire - affichage des erreurs - surlignage des champs en erreurs - affichage du formulaire <Modération : Ton lien ne montre rien. Juste un formulaire de contact basique> @++ Modifié 24 Janvier 2007 par Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 Soit j'ai mal compris, soit on répond tous à côté de la plaque. En gros, si j'ai bien compris, il veut pouvoir ajouter des champs de saisie et non traité le formulaire en x pages. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Document sans nom</title></head><body><script>function create_champ(i) {var i2 = i + 1;document.getElementById('noclie_inclus_'+i).innerHTML = '<input type="text" name="noclie_inclus_'+i+'" size="11" maxlength="15" value /></span> ';document.getElementById('noclie_inclus_'+i).innerHTML += (i <= 20) ? '<br /><span id="noclie_inclus_'+i2+'"><a href="java script:create_champ('+i2+')"><strong>Ajouter Un Tiers</strong></a></span>' : '';}</script><input type="text" name="noclie_inclus_1" value="" size="11" maxlength="15" /> <br> <span id="noclie_inclus_2"><a href="java script:create_champ(2)"><strong>Ajouter un Tiers</strong></a></span></body></html> Enlève l'espace en Java Script et dis nous si c'est bien ca que tu voulais. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kent Posté 24 Janvier 2007 Auteur Partager Posté 24 Janvier 2007 Rebonjour, ce que je veux c'est que le client puisse creer des champs supplémentaire à sa guise (je limiteré ensuite à 4). Dans cette optique, le dernier post de Portekoi repond tout à fait à mes besoins. En ce qui concerne la gestion des donnée et formulaire (traitement/saisies). Il est vrai que je préferé mettre tout ça dans une seule page . Mais s'il en faut deux ce n'est pas si grave je pense pouvoir le gerer. En tous cas merci pour vos post, je vais faire des test. Je continueré ce sujet si je rencontre des difficultées particulières. Lien vers le commentaire Partager sur d’autres sites More sharing options...
xpatval Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 Si tu optes pour la solution JS, il faudra préciser à l'utilisateur, s'il ne l'a pas fait, d'activer JS, sinon.... xpatval Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant