Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 12h56   #1
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 0
Points : 0
Par défaut formulaires dynamiques et variables vers php

Voilà mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<script language ="javascript">
var mon_div = null;
var nouveauDiv = null;
 
var Div = null;
var num = 0;
 
function ajouteElement()
{
nouveauDiv = document.createElement("div");
x=document.getElementById("filtres").value;
var divhtml = '';
for(compteur=0;compteur<x;compteur++)
  {
  num++;
  divhtml += "<br><br><input type='text' id='filtres"+num+"' size='20'>";
  }
 
nouveauDiv.innerHTML = divhtml;
  mon_div = document.getElementById("org_div1");
  document.body.insertBefore(nouveauDiv, mon_div);
}
 
</script>
<input type="text" id="filtres" size="20"><a href="javascript:;" onClick="ajouteElement()">valider</a>
<div id="org_div1"></div>
</form>
Ce code me permet de générer des champs dynamiquement par rapport à une valeur donnée dans un champ sans rechargement de la page. Serait-il possible de récupérer les données entrées dans les champs nouvellement créés peu importe le nombre de champs générés et tout ça en php.

Merci d'avance
arcade_stg_master est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h27   #2
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 303
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 303
Points : 4 481
Points : 4 481
tu peux récupérer les valeurs à la réception du formulaire. mais pour cela il te faudra aussi utiliser l'attribut "name" dans tes champs input pour pouvoir utiliser les $_post ou $_get en fonction de la manière dont tu gère l'envoi de ton form.

à cela je pense qu'il serai bon dans ta fonction javascript d'incrémenter une variable mise dans un champs hidden et envoyé en même dans ton formulaire. Cela te permettra à la réception de ce dernier de bouclé sur le nombre total d'élément généré.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h53   #3
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 0
Points : 0
Ok, mais comment se présentent les variables de mes champs générés de façon à ce que puisse les réutiliser dans mon script php et j'aurais besoin stp, d'un exemple pour l'utilité de la variable qui s'incrémente j'ai déjà fait ça pour donner un id différents à chacun de mes champs (filtres 1,2,3 ....).
arcade_stg_master est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 19h37   #4
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
<script language ="javascript">
var mon_div = null;
var nouveauDiv = null;
 
var Div = null;
var num = 0;
 
function ajouteElement()
{
nouveauDiv = document.createElement("div");
x=document.getElementById("filtres").value;
var divhtml = '';
for(compteur=0;compteur<x;compteur++)
  {
  num++;
  divhtml += "<br><br><input type='text' id='filtres"+num+"' name="filtres[]" size='20'>";
  }
 
nouveauDiv.innerHTML = divhtml;
  mon_div = document.getElementById("org_div1");
  document.body.insertBefore(nouveauDiv, mon_div);
}
 
</script>
<form action="get" action="tonscript.php">
<input type="text" id="filtres" size="20"><a href="javascript:;" onClick="ajouteElement()">valider</a>
<div id="org_div1"></div>
</form>
dans tonscript.php
Code :
1
2
3
4
5
6
 
<?php
 
//voir les éléments transmis
if( isset( $_GET['filtres'] ) )
   print_r( $_GET['filtres'] );
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h05   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
comme Thes32.
Tant qu'à faire, autant relier l'id au name (même num) :
Code :
  divhtml += '<br /><br /><input type="text" id="filtres'+num+'" name="filtres['+num+']" size="20" />'."\n";
(en évitant de se prendre les pieds dans le tapis avec les " et ')

ps : il ne serait pas plus judicieux de créer les input avec le DOM comme ici ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h46   #6
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
comme Thes32.
Tant qu'à faire, autant relier l'id au name (même num) :
Code :
  divhtml += '<br /><br /><input type="text" id="filtres'+num+'" name="filtres['+num+']" size="20" />'."\n";
(en évitant de se prendre les pieds dans le tapis avec les " et ')
ici ?
je ne vois pas l’intérêt des indices, à mon avis c'est plus flexible.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 21h33   #7
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Tu avais un cafouillage de " ' dans ton code.

Après, chacun fait à sa mode.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h12   #8
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 0
Points : 0
Merci à tous j'ai utilisé DOM la semaine dernière et tout fonctionne nickel et le code est super lisible en plus

Et oui en effet j'avais aussi cafouillé avec le ' et ".
arcade_stg_master est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h19.


 
 
 
 
Partenaires

Hébergement Web