|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() |
Bonjour j'ai un petit problème.
J'ai un petit formulaire et j'aimerais que lorque l'utilisateur clique sur le bouton "ajouter", qu'un autre champ de texte apparaissent pour le permettre de saisir plusieurs élément comme par exemple ajouter plusieurs pièces jointes à un formulaire. Voici un bout de code que j'ai fais Code :
|
||
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : juin 2004 Messages : 156 ![]() |
Bonjour,
pour ajouter des champs dynamique, il faut te tourner vers du javascript qui va rajouter du code html à ta page. |
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : février 2005 Messages : 183 ![]() |
Une manière propre de faire ça en quelques lignes peut-être d'utiliser le toggle JQuery :
http://api.jquery.com/toggle/ Tu places tes éléments dans une div : Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() |
Merci les gars pour vos réponses mais un petit bout de code m'aiderais à mieux avancer. Car que faire si l'on peut ajouter un nombre très grand?
|
|
|
00
|
|
|
#5 | ||||
|
Nouveau Membre du Club
![]() |
Une technique que j'ai utilisé qui marche pas trop mal, et qui évite de se servir de Jquery, ça mélange CSS/xHTML et JS :
Tout d'abord, tu code ta propre fonction Toggle, qui va utiliser une propriété CSS : Display. Cette propriété Display peut prendre plusieurs valeurs (18 au total), celles qui nous intéresseront sont 'Block' et 'None'. Block signifie grossièrement que tu va afficher un élément de type Bloc (Cf. http://htmlhelp.com/reference/html40/block.html ) None signifie, tu l'auras compris Voilà donc la fonction en JS que tu placera entre des balises <script></script> ou dans un fichier *.js externe. Code :
Voilà, donc cette fonction tu va l'appeller au travers de la propriété onClick d'une balise (qui peut être un lien, un bouton, etc ...). Cette propriété onClick, déclenche une fonction lorsque l'on clique sur l'élément (ton bouton, lien, ...) qui correspond à la balise(donc un input, a href, etc ...) qui porte cette propriété. Code :
Voilà l'exemple pour un contrôle, pour plusieurs tu peux repartir de cette fonction, en faisant entrer une liste d'id correspondant aux contrôles que tu veux faire apparaître, par exemple. Maintenant, il te reste aussi Jquery qui est une formidable bibliothèque JS, à toi de voir ! Cordialement, BENOIT J. |
||||
|
|
00
|
|
|
#6 | |||
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() |
Merci les gars ca marche très bien mais comment faire pour recuperer les valeurs à chaque fois qu'on les rentre. je prend le cas de 5 valeurs par exemple
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 240 ![]() |
Y'a pas de différence avec un formulaire statique, les valeurs des input générés (soit avec une méthode display, soit avec une modification du DOM avec javascript) vont être transférées dans le tableau $_POST ou $_GET suivant la méthode que tu utilise.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#9 | ||
|
Membre régulier
![]() |
vue que je ne connait pas à l'avance le nombre d'élément que l'utilisateur doit rentrer devrait je mettre une boucle while pour récuperer les champs? C'est a dire
Code :
|
||
|
|
00
|
|
|
#10 | ||||
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
il faut donner un nom incremental à chaque champ texte :
Code :
var nbINPUT = 0; // variable globale, initialisation Code :
Code :
|
||||
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : septembre 2010 Messages : 7 102 ![]() |
plutôt faire un tableau : val[]
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#12 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 240 ![]() |
Il y a un exemple dans le manuel ici
C'est plus simple d'utiliser la méthode de stealth35 car dans ton code javascript il te suffit de générer un input supplémentaire sans incrément, ayant juste la forme d'un tableau comme "userfile[]" (pour reprendre l'exemple du manuel), et ensuite côté php il te suffit de lister ton tableau avec un basic foreach.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
10
|
|
|
#13 |
|
Membre régulier
![]() |
Merci pour votre aide
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com