Création formulaire dynamique php

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 23 mars 2011 à 17:02
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 23 mars 2011 à 21:46
Bonjour,

Je suis parti dans un développement de formulaire php dynamique. En fait, j'ai une liste de nombre de 1 à 5 qui permet de renseigner de 1 à 5 fois le même formulaire ( nom, prenom, adresse, tel, email).
En sélectionnant le nombre de personne total dans la liste , j'affiche le même nombre de div. J'ai donc un truc du genre


Nom  *

,
Prénom  *

,
Téléphone: *






Nom  *

,
Prénom  *

,
Téléphone: *




...


Je gère ensuite le nombre de div à afficher en css en masquant les div quand le nombre de la liste est inférieur.
Si donc j'ai dans ma liste selectionné 2, j'affiche la div 1 et 2, et je masque les 3,4, et 5.
<select name="nb" id="nb" >
<option onclick="document.getElementById('div1').style.visibility  = 'visible';
document.getElementById('div2').style.visibility  = 'hidden';
document.getElementById('div3').style.visibility  = 'hidden'" value="1">1</option>       
<option onclick="document.getElementById('div2').style.visibility = 'visible';
document.getElementById('div1').style.visibility = 'visible';
document.getElementById('div3').style.visibility  = 'hidden'" value="2">2</option>  	
<option onclick="document.getElementById('div3').style.visibility = 'visible';
document.getElementById('div2').style.visibility = 'visible';
document.getElementById('div1').style.visibility = 'visible'" value="3">3</option>
</select>


Vous l'aurez peut être compris, c'est contraignant. Je dois créer 5 fois le même formulaire, et attribuer aux champs des noms différents(nom1,nom2,etc...). Idem pour la vérifications des champs en javascript et finalement l'insertion dans ma base de données.
Je cherche donc à optimiser mon formulaire ( en créer un dynamique) -> j'ai une seul fois le formulaire et les champs s'affichent autant de fois que la liste le précise. Mais je ne sais pas comment procéder.

Auriez-vous des liens ou des exemples indiquant comment arriver à ce résultat ? POurriez vous m'accorder un peu de votre aide ?

Merci d'avance pour vos réponses.

1 réponse

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
23 mars 2011 à 21:46
Bon finalement j'ai opté pour une solution plus simple

Je laisse le choix à l'internaute de sélectionner le nombre de personnes souhaité, puis je récupère ce nombre grâce à $_POST

Enfin, je crée une boucle qui m'affiche mon formulaire pour le nombre de ligne souhaité.

Et la problème encore plus grave, la vérification JavaScript. En effet, mes champs prennent comme id nom1,nom2,nom3, etc...

ET mon JavaScript est conçu ainsi :
if (form.nom.value.search(/^([_A-Z-]||[_a-z-])+[_a-z-]$/) == -1){ 
alert ('Saisissez votre Nom ! (pas plus d\'une majuscule)'); 
form.nom.focus(); 
return false; 
}


Comment faire en sorte que mes champs soient tous vérifier ? et cela, sans vraiment passer par des tableaux ?

Pour obtenir mes id, je fait ainsi :

<?php
   for ($i=1;$i<$inscr['nbpecheur']+1;$i++){   
   ?>

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="4">
            <tr>
                <td> Nom  *

"  name="in[nom<?php echo $i; ?>]" value='' class="format"></td>
               


Pourriez-vous m'aider s'il vous plait ?
0
Rejoignez-nous