2011-12-21 12 views
2

J'ai une maquette d'un formulaire, dans lequel il y a un élément d'entrée de fichier que les utilisateurs utilisent pour sélectionner l'image locale à télécharger. L'idée est que les utilisateurs peuvent télécharger jusqu'à quatre images, en utilisant un seul élément d'entrée de fichier mais ne peuvent pas en sélectionner plusieurs à la fois. Les images sélectionnées sont envoyées au serveur lors de la soumission du formulaire. Cette idée est-elle réalisable en utilisant HTML5 + javascript?Télécharger plusieurs fichiers avec un seul élément d'entrée (pas un seul sélection mais un seul à la fois)

Répondre

1

Si vous voulez savoir si c'est faisable alors oui c'est. Vous pouvez utiliser un seul élément d'entrée de fichier et l'utiliser pour permettre à l'utilisateur de sélectionner jusqu'à 4 images mais d'y assigner des valeurs à 3 éléments d'entrée masqués. Sur soumettre, tous les éléments d'entrée de fichier (cachés et visibles) afficheront leurs données sur le serveur.

EDIT: voici un exemple HTML + jquery de réglage et d'obtenir filepath du contrôle d'entrée de type de fichier:

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $('#btnImpersonator').bind('click', function(){ 
       $('#uploader').click(); 
      }); 


      $('#uploader').bind('change', function(){ 
       $('#txtImpersonator').val($('#uploader').val()); 
       alert($('#uploader').val()); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <form action=""> 
     <input type="file" id="uploader" style="display:none"> 
     <input type="text" id="txtImpersonator" />&nbsp;<input type="button" id="btnImpersonator" value="Browse" /> 
    </form> 
</body> 
</html> 
+0

Je pensais que l'élément d'entrée de fichier ne peut pas être la valeur attribuée par programme, non? – tamakisquare

+0

Vous avez raison, cela ne peut pas être fait de cette façon. Cependant, j'ai été fou de rage en essayant de me rappeler comment je l'ai fait il y a longtemps, longtemps. Voici ce que j'ai fait: créé et caché le contrôle de fichier, utilisé un bouton et une zone de texte pour emprunter l'identité d'un type d'entrée de fichier, utilisez le gestionnaire d'événement onclick du bouton pour tromper l'événement click du type d'entrée de fichier. Tout était très compliqué mais ça a marché. Je vais essayer de le faire fonctionner à nouveau et mettre à jour ma réponse. – Abbas

+0

La question ne l'a pas demandé mais je vais juste mentionner que cela ne fonctionne pas pour la sélection de plusieurs fichiers à la fois – Mark

Questions connexes