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 la valeur d'un input array() de type file


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 97
    Points : 57
    Points
    57
    Par défaut Récupération de la valeur d'un input array() de type file
    Bonjour,

    J'ai un formulaire qui donne la possibilité aux utilisateurs d'ajouter N pièces jointes, pour cela j'ai mis un bouton pour ajouter un champ de type file qu'on l'utilisateur fait un clic ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form method="post" enctype="multipart/form-data">
    <span class='piece'><input type='file' name='file[]'/></span>
    </form>
     
    <p><button id='prependTo'>Ajouter une pièce jointe</button></p>  
    <script type="text/javascript">
      $("#prependTo").click(function () {
       $("<input type='file' name='file[]'/><br/>").prependTo('.piece');
        });
    </script>
    Je vois bien l'input file qui s'ajoute après un clic sur le bouton, mais le problème est que le $_FILES['file'] me retourne toujours une seule entrée

    Avez-vous une idée comment puis-je faire pour récupérer l'ensemble des pièces de l'array $_FILES['file'] ? Merci d'avance

    Cordialement

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    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
    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
    <html lang="fr" dir="ltr">
    <head>
      <meta http-equiv="cache-control" content="public, max-age=60">
      <meta charset="utf-8">
      <meta name="viewport" content="initial-scale=1.0">
      <meta name="author" content="Daniel Hagnoul">
      <title>Test</title>
      <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.css">
      <style>
        .append-img {
          display: block;
          margin: 12px;
        }
      </style>
    </head>
    <body>
     
      <div>
          <input id="fileInput" type="file" accept="image/*" multiple>
      </div>
     
      <div id="divImg"></div>
     
      <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
      <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
      <script>
        "use strict";
     
        $( function(){ // forme abrégée de $(document).ready( function( ){
     
          $( "#divImg" ).on( "click", "img", function(){
            $( this ).remove();
          });
     
          $( "#fileInput" ).on( "change", function( e ){
     
            let
              w = 0, 
              file, 
              img, 
              reader = new FileReader(),
              files = e.target.files,
              limite = files.length,
              lire = function(){
                file = files[ w++ ];
     
                reader.onload = function( e ){
                  $( "<img/>", {
                    "class" : "appens-img",
                    "src" : reader.result
                  }).appendTo( "#divImg" );
                };
     
                reader.onloadend = function(){
                  if ( w < limite ){
                    lire();
                  }
                };
     
                reader.readAsDataURL( file );
              };
     
            if ( limite > 0 ){
              lire();
            }
     
          });
     
        });
     
        $( window ).load( function(){
     
        });
      </script>
    </body>
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/08/2012, 14h07
  2. Récupération de la valeur d'un champ input.
    Par dimitri13 dans le forum Langage
    Réponses: 5
    Dernier message: 29/01/2011, 21h37
  3. Récupération d'une valeur d'un input type file
    Par Bizoo dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2009, 19h46
  4. Probleme récupération valeur d'un INPUT
    Par rockt13 dans le forum Services Web
    Réponses: 0
    Dernier message: 10/02/2009, 23h56
  5. Réponses: 5
    Dernier message: 06/01/2009, 11h22

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