IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

formulaires dynamiques et variables vers php


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut formulaires dynamiques et variables vers php
    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    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é.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut
    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 ....).

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
     
    //voir les éléments transmis
    if( isset( $_GET['filtres'] ) )
       print_r( $_GET['filtres'] );

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    comme Thes32.
    Tant qu'à faire, autant relier l'id au name (même num) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      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 ?

  6. #6
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    comme Thes32.
    Tant qu'à faire, autant relier l'id au name (même num) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      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.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Tu avais un cafouillage de " ' dans ton code.

    Après, chacun fait à sa mode.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut
    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 ".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] $.post variable vers PHP
    Par Toolito dans le forum jQuery
    Réponses: 2
    Dernier message: 06/10/2012, 07h01
  2. formulaire dynamique, conception j'hésite PHP / AJAX /JS
    Par xavioche77 dans le forum Langage
    Réponses: 13
    Dernier message: 31/03/2011, 13h00
  3. Auto submit + variable js vers php via formulaire
    Par ketsueki dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 03/11/2009, 16h27
  4. Variables vers PHP
    Par cocacola0589 dans le forum Flex
    Réponses: 27
    Dernier message: 21/04/2009, 16h30
  5. [DOM] Passage de variable vers PHP
    Par popovitch130 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/07/2008, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo