Formulaire, ajout de champ supplémentaire

lylidou Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
 jurapark -
Bonjour,

je désire faire un formulaire où il y a la possibilité d'inscrire plusieurs personnes, mais sans faire 10 ou 20 champs.
Par exemple, il y a 5 champs disponibles sur la page et via un bouton on peut rajouter à chaque fois un champ. (pour ajouter une nouvelle personne) et ainsi de suite.

Comment faire ??

Merci pour votre aide

8 réponses

lingus
 
1
Asraroth
 
Bonjour,

tu peux utiliser des balises <div> avec un style pour masquer une partie de ton formulaire. Par exemple :

<div id="client" name="client" style="display: block; position: static">
<input type="text" name="nom1" />
</div>

<div id="client" name="client" style="display: none; position: relative">
<input type="text" name="nom2" />
</div>

<div id="client" name="client" style="display: none; position: relative">
<input type="text" name="nom3" />
</div>

seul la saisie du nom1 sera visible... Pour afficher les autres, tu peux faire un bouton et modifier le style en javascript :

<input type="button" onclick="ajouterclient();" />

et la fonction javascript :

function ajouterclient() {
i++;
document.getElementsByName("client")[i].style.display = "block";
document.getElementsByName("client")[i].style.position = "static";
}

Faut pas oublier de gerer correctement l'indice "i" (initiliasation à 0, pas depasser le nombre maxi de clients, etc..)

Tu peux aussi faire une boucle en PHP pour generer les blocs de clients...
0
lylidou Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, je vais essaye. Ca me paraît tout a fait faisable.
0
lylidou Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
merci, je vous tiens au courant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lylidou Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
c'est super ce code Lingus, mais comment je fais pour pouvoir récupérer les données et les envoyer sur une Base de données ?

j'ai changer le nom et le type pour l'input, mais comment je fais pour que chaque nouvel enregistrement soit individualisé ?
0
lingus
 
en fait tu a du remarquer que les inputs etaient sous la forme d'un tableau HTML "mesfichiers[]" (les crochets "[]" indiquent que la variable srfichier est un tableau).
Dans ton PHP tu n'a donc qu'a parcourir cette variable ($_POST["mesfichiers"]) et traiter un par un chaque input.
Dans cet exemple c'est des input de type FILE, mais tu peux faire ca avec n'importe quel type d'input.
0
lingus
 
Pour t'aider regarde la source de ta page, tu pourra remarquer que tu a une suite d'input du meme nom (dans l'exemple : mesfichiers[])
Apres la validation de ton formulaire tu traite ca en PHP, tu parcours ton tableau et tu insert a chaque iteration dasn ta abse de donnée.
J'espere que c ets assez clair.

Bon courage & have fun !
0
jurapark
 
Bonjour,
désolé de re-up un sujet vieux de 6ans, mais j'ai a peu pres le même problème que lylidou.
Mon problème commence au moment de récuperer les données de mesfichiers[]....
Je ne comprend pas comment faire.
Quelq'un pour m'aider ? :D
0
lylidou Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
En fait, il faut que je fasse une boucle.
Je vais essayer tout ca... je sens déjà mes méninges fumer !!

Merci.
0