|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
Bonjour à tous,
J'aimerais créer une sorte de formulaire avec un boutton "Ajouter" pour avoir + de cases (et un bouton "X" pour la supprimer, mais il doit y avoir au minimum 1 ligne). J'ai déjà commencé en m'aidant de ceci: champ dynamique mais bouton ajout dessous Il fonctionne très bien sauf que, pour plus de facilité j'aimerais que chaque nouvel input est son propre Id (brute_1, brute_2, brute_3, etc...) mais je ne sais pas comment faire Voici où j'en suis : Code JavaScript :
Code HTML :
Je pense qu'il faut donc que le script fasse: Récupérer le dernier ID (le plus bas) qui commence par "brute_", ajouter 1 au chiffre trouvé ( var i2 = i + 1; ) et créer une nouvel ligne avec cet ID. |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Bonsoir,
comme est constituer ton document, il te suffit de mettre Code :
Code :
var nom_fieldset = document.getElementById('choix'); La question à se poser est as tu besoin d'une ID pour chaque contrôle, un name du type brute[] te permettrais de récupérer coté serveur un tableau. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
C'est un faux formulaire, les infos vont etre utilise par du PHP qui affichera (ou pas) le code source de la page des brutes, donc je sais pas se qui est le mieux tu me conseilles quoi ?
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
si les ID ne te servent à rien, à prendre au sens HTML bien sûr, autant ne pas les mettre et attribuer un NAME brute[] à chaque nouveau contrôle.
Code javascript :
champ_utilisation.name = "brute[]"; Coté PHP, par exemple, tu récupères Code php :
Code javascript :
|
||||
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
Merci pour les codes, ca fonctionne bien ! Mais serait-t-il possible de les avoirs dans le lien pour que l'utilisateur n'est pas besoin de retaper les noms à chaque fois ?
J'ai essayé de modifier ton POST en GET mais sa ne fonctionne pas
|
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
1/ erreur dans le code il faut lire
Code php :
foreach($_POST['brute'] as $brute){ Citation:
|
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
J'avais vu l'erreur dans ton code mais je l'ai corrigée
Pour ton 2), j'aimerais peut-être: .../viewer.php?brute1=Brute&brute2=Brute&brute3=Brute&.... C'est donc pour sa que au départ, je voulais des ID différents (sauf que c'est le Name qui doit avoir le chiffre différent ). Donc le Name avec des chiffres différent pour l'identifier dans le lien.
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
|
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
si tu ne veux as passer par un tableau en récupération, qui me semble le plus pratique, dans ce cas à chaque création/suppression il te faut re NAME r les contrôles dans l'ordre chrono, mais pas sûr dans voir la réelle utilité.
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
L'utilité si j'ai bien compris, c'est qu'il veut pouvoir réutiliser/partager son url pour ses view de ses brutes. Donc sans "POST".
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
Je veut bien un tableau mais je vois pas comment sa fonctionne...
C'est un peu flou dans ma tête.... Willpower, oui c'est sa... |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Perso je reglerai ton problème des names non pas au moment des ajouts mais au moment du submit.
Du genre : Mon_form.onsubmit = function() { var inputs = this.getElementsByTagNames("input"); var i=1; for(var j=0;j<inputs.length;j++) if(inputs[j].name == "brute_" ) inputs[j].name += i++; }; On ayant initialement nommé toutes tes brutes "brute_". ( je n ai pas testé le.code proposé, donc méfie toi des erreurs éventuelles.) |
|
|
10
|
|
|
#14 | ||||
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
Je veut bien essayer mais foreach ne fonctionne pas avec GET !
Warning: Invalid argument supplied for foreach() Code PHP :
Et même avec GET, les "brute_" ne changent pas, il n'y a aucun chiffre au bout Code JavaScript :
Bien sûr, j'ai ajouté a mon bouton d'ajout, l'ID = submit. |
||||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
C'est sur le form qu il faut faire le onsubmit.
Sinon pour le coter serveur / php je ne m'y connais pas assez pour te proposer une solution. (mais de toutes façons je pense que tu peux oublier le foreach du POST $i =1; while(isset($_GET["brute_"+$i])) echo $_GET["brute_"+$i++]+"<br/>"; |
|
|
00
|
|
|
#16 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
que cela soit avec une method POST ou GET,
avec un envoi, pour le GET, de la forme Code :
?brute[]=Brute+%230&brute[]=Brute+%231&brute[]=Brute+%232 Citation:
|
|
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Sinon pour ma fonction il n y à pas de "s" au bout de getElementsByTagName. Désolé.
Édit. Avec tout ce que je t'ai donné, je suis quasi sur que cette fois il y à moyen de faire un truc qui fonctionne. |
|
|
00
|
|
|
#18 | ||
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
C'est cool, le lien a bien les brute_1 brute_2, etc...
Mais ton code PHP ne m'affiche rien Code PHP :
Pourtant, le lien a ce code: Code :
?brute_1=Brute&brute_2=Tara&brute_3=Dnz |
||
|
|
00
|
|
|
#19 | |||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Citation:
while(isset($_GET["brute_".$i])) echo $_GET["brute_".$i++]."<br />"; Autrement si ça va tjs pas. Je ne sais pas. Je ne suis pas très calé côté php. |
|||
|
|
10
|
|
|
#20 |
|
Invité de passage
![]() Erwan FinotInscription : janvier 2011 Messages : 18 ![]() |
Ah oui sa fonctionne ! Merci beaucoup à vous deux !
![]() J'avais bien remplacé un + par un ., mais je ne l'avais pas fait partout ^^ Sinon pendant que vous êtes là, j'ai une autre page qui a du mal à fonctionner Cette page supprime les doublons présents dans la liste que l'utilisateur envoie. J'ai réussi à faire un Batch qui fonctionne mais en ligne il ne fonctionne pas pareil... C'est du PHP, je rouvre un sujet ou je tente ici ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com