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

JavaScript Discussion :

Créer des INPUT pour envoyer plusieurs images en BdD


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2020
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2020
    Messages : 119
    Par défaut Créer des INPUT pour envoyer plusieurs images en BdD
    Bonjour,

    Je souhaite envoyer plusieurs images en une fois dans ma base de données, donc pour cela je dois créer un bouton qui me permet de générer des input :
    Nom : input.png
Affichages : 169
Taille : 1,7 Ko

    le "+" fait poper des input et le " - " le supprime (si jamais on décide de le retirer).

    Le problème est que les input créé en js ne sont pas pris en compte lors de l'envoi, seul l'input créé en HTML est pris en compte. (j'ai testé en insérant 2 input directement en HTML et ça marche, donc le problème ne vient pas du code php du coup ce n'est pas utile de le montrer)

    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
        function myFunction() {
     
            let buttonAddInput = document.querySelector('.buttonAdd');
     
            buttonAddInput.addEventListener('click', function() {
     
                var li = document.createElement("li");
                var newInput = document.createElement("input");
                newInput.style.marginBottom = '5px';
                newInput.style.marginRight = '3px';
                newInput.setAttribute('type', 'url');
                li.appendChild(newInput);
     
                document.getElementById("myList").appendChild(li);
                var buttonRemoveInput = document.createElement("span");
                buttonRemoveInput.textContent = " - ";
                li.appendChild(buttonRemoveInput);
     
                buttonRemoveInput.addEventListener('click', function() {
                    li.removeChild(newInput);
                    li.removeChild(buttonRemoveInput);
                });
            });
        }
        myFunction();

    et le
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <label class="url_label" for="url">
                        <p>Inserer vos URLs : </p>
                        <ul id="myList">
                            <li><input type="url" name="images[]">
                                <span class="buttonAdd">+</span>
                            </li>
                        </ul>
                    </label>


    Merci de m'aider

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    Il manque l'attribut name à tes nouveaux input.

    NB: plutôt que de recréer un élément li de toutes pièces avec tout ce qu'il contient, tu peux utiliser la méthode Node.cloneNode().

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2020
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2020
    Messages : 119
    Par défaut
    Effectivement !

    Donc,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     newInput.setAttribute("name", "images[]");
    Ca fonctionne maintenant, merci à toi

    NB: plutôt que de recréer un élément li de toutes pièces avec tout ce qu'il contient, tu peux utiliser la méthode Node.cloneNode().
    Je vais y songer, merci

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

Discussions similaires

  1. Créer des masques pour un stack d'image
    Par LunDarkMiel dans le forum ImageJ
    Réponses: 5
    Dernier message: 08/02/2014, 06h29
  2. Formulaire pour envoyer plusieurs image
    Par hightone dans le forum Langage
    Réponses: 0
    Dernier message: 07/03/2011, 20h38
  3. Créer des bordures pour un JLabel
    Par theniaky dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/05/2006, 19h18
  4. Réponses: 2
    Dernier message: 04/08/2005, 19h00
  5. Réponses: 7
    Dernier message: 21/10/2004, 09h13

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