Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/09/2014, 12:44
SonrisaCs
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Subida múltiple de archivos

Genial, muchas gracias, ayer estuve mirando, pero la verdad no logro conseguir lo que estoy buscando...

De todas maneras algo conseguí intentando con tutoriales, lo que sucede es que no funciona bien, y no entiendo por qué

Lo que hice fue tratar a cada linea de la tabla como un formulario aparte, para ir subiendo de a dos, pero resulta que el upload mediante ajax sólo funciona con el primer formulario, con tooodos los otros la página se recarga (y de paso no sube los archivos)

código Ajax en la página donde se encuentran los formularios (abmlfacturacion.php):
Código Javascript:
Ver original
  1. <script>
  2. $(function() {
  3.  
  4.     $('#enviar').click(function() {
  5.  
  6.         var url = 'subir2.php';
  7.         var formData = new FormData($('#formulario')[0]);
  8.         $.ajax ({
  9.  
  10.             type: "POST",
  11.             url: url,
  12.             data: formData,
  13.             contentType: false,
  14.             processData: false,
  15.             success: function(data) {
  16.                 $('#resultado').append(data);
  17.             }
  18.  
  19.         })
  20.  
  21.         return false;
  22.  
  23.     });
  24.  
  25. });
  26.  
  27. </script>

While PHP que genera los formularios en abmlfacturacion.php
Código PHP:
Ver original
  1. while($fila = $resultado->fetch_assoc()){
  2.             echo '<tr><td><form enctype="multipart/form-data" method="POST" id="formulario">' . $fila['usuario'] . '</td>';
  3.             echo '<td>' . $fila['nombre'] . '</td>';
  4.             echo '<td>' . $fila['apellido'] . '</td>';
  5.             echo '<input type="text" hidden name="usuario" value="' . $fila['usuario'] . '" required/>';
  6.             echo '<td><input type="file" name="factura"/></td>';
  7.             echo '<td><input type="file" name="resumen"/></td>';
  8.             echo '<td><input type="text" name="fecha" placeholder="DD/MM/AAAA" value="'.date('d/m/Y').'" required /></td>';
  9.             echo '<td colspan="6"><input id="enviar" type="submit" name="enviar" value="Enviar" /></form></td></tr>';
  10.         }

Y debajo de la tabla donde se realiza el while, tengo un div con id "resultado" que es donde se inserta el contenido que retorna subir2.php

Y subir2.php no sé si hará falta postearlo, es bastante extenso y creo que no tiene nada que ver con el problema... ¿Es algo de Ajax, no?

Edit: Esta screenshot es de cómo se ve la tabla con este código que postié:
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.

Última edición por SonrisaCs; 30/09/2014 a las 12:51