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 :

PHP : Formulaire dynamique, ajout de champ


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut PHP : Formulaire dynamique, ajout de champ
    Bonjour,
    Voilà, j'ai un formulaire dans lequel j'aimerais pouvoir ajouter des champs via un bouton, j'y arrive, mais je ne peux pas récupérer la valeur des champs.
    Comment je peux faire ça ?

    Cordialement,

    Code html : 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
    <form method="POST" action="" >
    <fieldset><legend>Formulaire de saisie</legend>
        <div id="champs" >
    Nom des groupes : <br>
    <input id="texte" type="text" name="titre[]"/><br>
        </div>
    <button type="button" onclick="addField()" >+</button><br>
    </fieldset>
    <script type="text/javascript" >
            var div = document.getElementById('champs');
            function addInput(nam){
                var input = document.createElement("input");
                input.name = name;
                div.appendChild(input);
            }
            function addField() {
            addInput("titre[]");
            div.appendChild(document.createElement("br"));
            }
    </script>
        <br>
        <input type="submit" value="Cr&eacute;er"/>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    if(!empty($_POST)){
    $tab = $_POST["titre[]"];
    Dernière modification par Bovino ; 06/05/2014 à 09h49.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function addInput(nam){
        var input = document.createElement("input");
        input.name = name;
        div.appendChild(input);
    }
    Pas vraiment étonnant...
    Comme je le dis souvent, quand tu appelles ta femme avec le prénom d'une autre, si tout se passe bien, ça se passe mal. Ben avec JavaScript (en fait, en programmation en général), c'est pareil !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Invité
    Invité(e)
    Par défaut
    Exact exact, merci beaucoup.

    Cependant, ma méthode pour récupérer derrière est-elle correcte ?

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    affiche le tableau $_POST avec la fonction http://php.net/var_dump par exemple pour voir ce que tu récupères

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'ai changer de méthode pour l'ajout des champs. Et avec le var_dump je récupère bien le contenu des champs donc c'est bon. Maintenant, il me reste juste a les traiter.

    Cordialement,

    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
    <script>
    function create_champ(i) {
     
    var i2 = i + 1;
     
    document.getElementById('leschamps_'+i).innerHTML = '<input type="input" name="name_'+i+'"></span>';
    document.getElementById('leschamps_'+i).innerHTML += (i <=40 ) ? '<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : '';
     
     
    }
    </script>
     
    <form action="" method="POST">
    <fieldset><legend>Formulaire de saisie</legend>
    <input type="input" name="name_1" /><br />
    <span id="leschamps_2"><a href="javascript:create_champ(2)">Ajouter un champs</a>
    </fieldset>
    <input type="submit" value="Cr&eacute;er">
    <?php
    var_dump($_POST);
    ?>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Cependant, j'aimerais faire la vérification avant d'envoyer le formulaire, que tous les champs, y compris ceux que l'utilisateur à ajouter soit bien rempli. Or vu qu'ils ont des nom différents à chaque fois je ne sais pas comment faire..

Discussions similaires

  1. Formulaire dynamique (nombre de champs)
    Par Tidus159 dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 13/05/2011, 10h07
  2. [PHP 4] formulaire dynamique + création de champ + post = Gros Souci
    Par fred2b06 dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2011, 13h28
  3. Réponses: 2
    Dernier message: 02/03/2011, 13h02
  4. [JS/PHP] Formulaire dynamique : ajout de ligne et requete SQL
    Par Argol dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 11/03/2009, 03h22
  5. Pb php : formulaire dynamique
    Par lucyole dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2006, 14h33

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