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 :

Ajout dynamique de champs de type file dans un formulaire !


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Ajout dynamique de champs de type file dans un formulaire !
    Bonjour à tous je souhaite mettre en place un formulaire d'upload sur mon site permettant d'uploader plusieurs fichiers. Pour cela j'aimerai que l'utilisateur puisse ajouter des champs de type file dans mon formulaire en cliquant sur un bouton ! Je ne sais pas comment faire. J'ai essayé d'utiliser la méthode innerHTML() en remplaçant à chaque fois le contenu de mon formulaire et en essayant de modifier la valeur des input mais celle-ci n'est autorisée qu'en lecture pour les champs file, donc je me retrouvais avec des champs qui se vidaient à chaque click sur le bouton d'ajout ...

    Quelqu'un aurait-il une solution à me proposer ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type='text/javascript'>
    function addFile(){
       lediv = document.getElementByid('files');
       in = document.createElement('input');
       in.setAttribute('type','file');
       in.setAttribute('name','mesfichiers[]');
       lediv.appendChild(in);
    }
    </script>
    <div id='files'><input type='button' onclick='addFile()' value='Ajouter un fichier' /><div>
    si c est un langage coté serveur ou t'as pas besoin des [] tu les enlève
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Merci siddh de ta réponse, elle m'a beaucoup aidé. Néanmoins elle ne marchait pas pour deux toutes petites raisons de rien du tout.
    • La première : il y a une majuscule à Id dans la fonction getElementByid()

    • la seconde : in est un mot reservé en javascript on ne peut donc pas l'utiliser en tant que nom de variable


    Je fourni donc le code du script corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type='text/javascript'>
    function addFile(){
       lediv = document.getElementById('files');
       lenvchamp = document.createElement('input');
       lenvchamp .setAttribute('type','file');
       lenvchamp .setAttribute('name','mesfichiers[]');
       lediv.appendChild(lenvchamp );
    }
    </script>
    Voilà ... merci encore ... et merci de la rapidité de ta réponse.

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui je l'ai tapé direct ici et j'ai loupé une maj ^^
    pour in, on va dire que c'est du a l heure tardive
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

Discussions similaires

  1. [Spip] Ajout d'un <input type=file> dans formulaire ecrire_auteur
    Par La_Castafiore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/07/2008, 23h14
  2. verification d'un champ de type file d'un formulaire
    Par figatelliSTI dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 28/03/2008, 15h18
  3. Valeur d'un champ de type File dans une page HTML
    Par AlainTech dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/12/2007, 13h17
  4. Ajout dynamique de champ dans un formulaire
    Par gendalf37400 dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 06/06/2007, 15h11
  5. Ajouter un champs de type " Date " dans ma base ac
    Par hysteresis dans le forum Langage SQL
    Réponses: 16
    Dernier message: 10/10/2005, 16h10

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