Foros del Web » Programando para Internet » Javascript »

script para input file

Estas en el tema de script para input file en el foro de Javascript en Foros del Web. hola a todos! tengo un problema con un script espero me puedan apoyar les explico un poco como funciona lo obtuve buscandolo en google tengo ...
  #1 (permalink)  
Antiguo 03/05/2016, 10:57
 
Fecha de Ingreso: diciembre-2014
Mensajes: 72
Antigüedad: 9 años, 4 meses
Puntos: 0
script para input file

hola a todos! tengo un problema con un script espero me puedan apoyar
les explico un poco como funciona lo obtuve buscandolo en google

tengo mi input file que tiene el id="galeria1", y un div que tiene como id="lista_galeria1", bueno pues facil con el input selecciono una o varias imagenes ya que tiene el atributo multiple, y en el div lista_galeria1 me muestra las imagenes que seleccione esto por fines practicos en un formulario que estoy haciendo.

resulta que en mi formulario tengo unos 8 input file y bueno para poder separar genere un script para cada uno de ellos la cuestion aqui y espero me puedan ayudar es que solo funciona si los input file llevan por name="files[]" si le cambio la variable tanto en el name="galeria1[]" y me voy al script y reemplazo la palabra files por galeria 1 no funciona, como mencionaba solo funciona si lleva por name files[] esto pues me complica ya que al subir al servidor las imagenes pues si las sube pero me gustaria poder separar o diferenciar cada input file para asi saber que imagenes vienen de cada uno. espero no confundirlos
saluds
Código HTML:
<input type="file" id="galeria1" name="files[]" multiple />
<div id="lista_galeria1"></div>
<script>

          function VisualizarGaleria1(evt) {
              var files = evt.target.files; // FileList object
              document.getElementById("lista_galeria1").innerHTML="";
              // Obtenemos la imagen del campo "file".
              for (var i = 0, f; f = files[i]; i++) {
                //Solo admitimos imágenes.
                if (!f.type.match('image.*')) {
                    continue;
                }

                var reader = new FileReader();

                reader.onload = (function(theFile) {
                    return function(e) {
                      // Insertamos la imagen
                      var respaldo1=document.getElementById("lista_galeria1").innerHTML;
                     document.getElementById("lista_galeria1").innerHTML =respaldo1+['<img class="galeria" src="', e.target.result,'" />'].join('');

                    };
                })(f);

                reader.readAsDataURL(f);
              }
          }

          document.getElementById('galeria1').addEventListener('change', VisualizarGaleria1, true);

          </script> 
  #2 (permalink)  
Antiguo 04/05/2016, 00:42
 
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 9 años, 11 meses
Puntos: 10
Respuesta: script para input file

No sé que estarás haciendo pero el name no es problema, por ejemplo si yo tengo esto:

Código Javascript:
Ver original
  1. <input type="file" id="galeria1" name="files[]" multiple />
  2. <div id="lista_galeria1"></div>
  3. <input type="file" id="galeria2" name="otroname[]" multiple />
  4. <div id="lista_galeria1"></div>
  5. <script>
  6.  
  7.  
  8.           function VisualizarGaleria1(evt) {
  9.               var files = evt.target.files; // FileList object
  10.               document.getElementById("lista_galeria1").innerHTML="";
  11.               // Obtenemos la imagen del campo "file".
  12.               for (var i = 0, f; f = files[i]; i++) {
  13.                 //Solo admitimos imágenes.
  14.                 if (!f.type.match('image.*')) {
  15.                     continue;
  16.                 }
  17.  
  18.                 var reader = new FileReader();
  19.  
  20.                 reader.onload = (function(theFile) {
  21.                     return function(e) {
  22.                       // Insertamos la imagen
  23.                       var respaldo1=document.getElementById("lista_galeria1").innerHTML;
  24.                      document.getElementById("lista_galeria1").innerHTML =respaldo1+['<img class="galeria" src="', e.target.result,'" />'].join('');
  25.  
  26.                     };
  27.                 })(f);
  28.  
  29.                 reader.readAsDataURL(f);
  30.               }
  31.           }
  32.  
  33.           document.getElementById('galeria1').addEventListener('change', VisualizarGaleria1, true);
  34.           document.getElementById('galeria2').addEventListener('change', VisualizarGaleria1, true);
  35.  
  36.           </script>

Funcionan perfectamente los dos, el tema es que tienen que tener ids diferentes, igual es por eso por lo que no te funcionan... ¿?

Etiquetas: file, formulario, funcion, google, html, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:20.