Formulaire, ajout de champ supplémentaire

Fermé
lylidou Messages postés 10 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007 - 6 sept. 2007 à 16:14
 jurapark - 10 juin 2013 à 10:00
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

1
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 jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
6 sept. 2007 à 17:00
Merci, je vais essaye. Ca me paraît tout a fait faisable.
0
lylidou Messages postés 10 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
6 sept. 2007 à 17:44
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 jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
6 sept. 2007 à 18:02
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
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
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
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 jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
6 sept. 2007 à 18:36
En fait, il faut que je fasse une boucle.
Je vais essayer tout ca... je sens déjà mes méninges fumer !!

Merci.
0