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

jQuery Discussion :

Récupération de donnée (POST) dans un tableau avec des input dynamiques


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Récupération de donnée (POST) dans un tableau avec des input dynamiques
    Bonjour, je ne parviens pas a récupérer les données de mon formulaire dans un tableau,

    HTML ou s'affiche les champs supplémentaire grâce au bouton, les nouveaux champs viennent s'ajouter dans la div <div class="LesDestinataire" id="LesDestinataire">
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div class="" id="chDestinataire">
         <label for="nbDestinataire">Destinataire(s) :</label>
         <div class="form-row align-items-center">
              <div class="col-auto">
                   <button type="button" class="btn btn-info addChamp" id="addChamp" name="button">Ajouter un destinataire</button>
              </div>
         </div>
         <br>
         <div class="LesDestinataire" id="LesDestinataire">
         </div>
    </div>


    Le code JQuerry qui permet d'ajouter mes champs de formulaire

    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
     
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript">
         $(document).ready(function() {
    	var max_fields = 20;
    	var wrapper = $("#LesDestinataire");
    	var add_button = $(".addChamp");
    	var x = 1;
    	$(add_button).click(function(e) {
    		e.preventDefault();
    		if (x < max_fields) {
    		     x++;
    		     $(wrapper).append('<div id="lui" class="form-row align-items-center"><div class="col-auto"><input type="text" class="form-control" name="destinataires[]"/></div><a href="#" class="delete"><button type="button" class="btn btn-danger" name="button">Suprimer</button></a><br><br></div>'); //add input box
    		} else {
    		     alert('Vous avez atteint la limite (20)')
    		}
    	});
     
    	$(wrapper).on("click", ".delete", function(e) {
    	     e.preventDefault();
    	     $(this).parent('div').remove();
    		x--;
    	})
    });
    </script>

    Capture d'écran de mon formulaire
    Nom : 2019-06-21_144543.png
Affichages : 161
Taille : 11,9 Ko

    Capture d'écran de ce que me retourne mon $_POST
    Nom : 2019-06-21_144644.png
Affichages : 138
Taille : 9,9 Ko

    Le champ destinataires avec un tableau n’apparaît pas... Je suis débutant avez vous une idée ? Manque t-il quelque chose ? une chose est-elle mal faite ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Où sont les balises <form> et </form> ?

    2- .append('<div id="lui" ..... :
    Non. On ne peut pas dupliquer un id, qui doit être UNIQUE.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ma div et bien dans les balises Form

    Pour l'id effectivement je ne sais plus pourquoi je les mis il ne sert a rien je viens de le supprimer


    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <form class="" action="traitement/<?php if (isset($_GET['courrier']) || isset($_GET['colis'])) {
                                            ?>modifier.php<?php
                                    }else {
                                            ?>ajout.php<?php
                                    } ?>" method="post">
    				<h3 class="text-center">Faire un enregistrement :</h3><hr>
    				<div class="d-flex jusity-content-center">
    					<div class="col d-flex jusity-content-center">
    						<input class="custom-control-input" type="radio" name="type" id="choix1" value="courrier" onclick="afficheFormLettres();">
    						<button type="button" class="btn btn-dark btn-block" name="button"><label class="form-check-label" for="choix1">Courrier ✉</label></button>
    					</div>
    					<div class="col d-flex jusity-content-center">
    						<input class="custom-control-input" type="radio" name="type" id="choix2" value="colis" onclick="afficheFormColis();">
    						<button type="button" class="btn btn-dark btn-block" name="button"><label class="form-check-label" for="choix2">Colis 📦</label></button>
    					</div>
    				</div>
    			</div>
    		</div>
    		<br>
    		<div class="d-flex justify-content-center">
    			<div class="col-4 bg-white shadow rounded">
    				<div class="" id="form">
    					<div class="form-group"><br>
    						<div class="d-flex justify-content-center">
    							<div id="iconCourrier" class="floating">
    								<h1 class="text-center display-4"></h1>
    							</div>
    							<div id="iconColis" class="floating">
    								<h1 class="text-center display-4">📦</h1>
    							</div>
    						</div>
    						<hr>
    						<div class="" id="chBordereau">
    							<label for="bordereau">Bordereau :</label>
    							<input class="form-control" type="text" name="bordereau" id="bordereau" value="<?php if (isset($lesInfos)) {
                                                                    echo $lesInfos[0]['3'];
                                                            } ?>">
    						</div>
    						<div class="" id="chExpediteur">
    							<label for="expediteur">Expéditeur :</label>
    							<input class="form-control" type="text" name="expediteur" id="expediteur" required value="<?php if (isset($lesInfos)) {
                                                                    echo $lesInfos[0]['4'];
                                                            } ?>">
    						</div>
    						<div class="" id="chObjet">
    							<label for="objet">Objet :</label>
    							<input class="form-control" type="text" name="objet" id="objet" value="<?php if (isset($lesInfos)) {
                                                                    echo $lesInfos[0]['5'];
                                                            } ?>">
    						</div>
    						<div class="" id="chFacture">
    							<label for="facture">Facture n° :</label>
    							<input class="form-control" type="text" name="facture" id="facture" value="<?php if (isset($lesInfos)) {
                                                                    echo $lesInfos[0]['6'];
                                                            } ?>">
    						</div>
    						<div class="" id="chDestinataire">
     
    							<label for="nbDestinataire">Destinataire(s) :</label>
    							<div class="form-row align-items-center">
     
    								<div class="col-auto">
    									<button type="button" class="btn btn-info addChamp" id="addChamp" name="button">Ajouter un destinataire</button>
    								</div>
    							</div>
    							<br>
    							<div class="LesDestinataire" id="LesDestinataire">
     
     
    							</div>
    						</div>
    						<div class="" id="chNbCourrier">
    							<div id="labelCourrier">
    								<label for="nbCourrier">Nombre de courrier :</label>
    							</div>
    							<div id="labelColis">
    								<label for="nbCourrier">Nombre de colis :</label>
    							</div>
     
    							<input class="form-control" type="text" name="nbC" id="nbCourrier" value="<?php if (isset($lesInfos)) {
                                                                    echo $lesInfos[0]['7'];
                                                            } ?>" required>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    		<br>
    		<div class="d-flex justify-content-center">
    			<div class="bg-white rounded">
    				<div class="" id="subCourrier">
    					<input class="btn btn-success" type="submit" name="valider" id="sub" value="Ajouter le(s) courrier">
    				</div>
    				<div class="" id="subColis">
    					<input class="btn btn-success" type="submit" name="valider" id="sub" value="Ajouter le(s) colis">
    				</div>
    				<?php if (isset($_GET['courrier']) || isset($_GET['colis'])) {
                                            ?><div class="">
    						<input type="hidden" name="id" value="<?php if (!empty($_GET['courrier'])) {
                                                            echo $_GET['courrier'];
                                                    }else {
                                                            if (!empty($_GET['colis'])) {
                                                                    echo $_GET['colis'];
                                                            }
                                                    } ?>">
    						<input class="btn btn-success" type="submit" name="valider" id="sub" value="Enregistrer">
    					</div><?php
                                    } ?>
    			</div>
    		</div>
    	</form>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je viens de tester, et je récupère bien les "destinataires".

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Who ! Effectivement j'ai repris le code que je tes envoyer et cela fonctionne ! mais pas dans mon projet principal ^^
    Je te remercie pour ton aide Je vais recommencer mon projet avec sa

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

Discussions similaires

  1. Récupération de données aléatoires dans un tableau
    Par Rose22 dans le forum Débuter
    Réponses: 10
    Dernier message: 03/06/2014, 09h07
  2. Réponses: 2
    Dernier message: 07/01/2013, 14h08
  3. problème de récupération de données String dans un tableau
    Par simonteb dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2012, 17h21
  4. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  5. Réponses: 11
    Dernier message: 22/05/2008, 14h11

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