Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2015, 17:34
Avatar de camargo94
camargo94
 
Fecha de Ingreso: octubre-2014
Ubicación: Huancayo
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Mostrar barra de Progreso jquery

Hola con todos, estoy haciendo un modulo de importar datos de excel, lo que ago es leer el excel llenarlo en una variable array de js, y mediante de un for mando fila por fila a una función que se encarga de enviar esa fila a validar con php, normal hasta esa parte, pero en ese proceso ago que se muestre una barra de progreso que indica en que % mas o menos esta la validación, el caso es que ese barra de progreso me funciona normal en firefox, pero en chrome es donde no me aparece la animación de cargando hasta que aya terminado, y en el caso de que sean muchos registros se cuelga la pagina (Solo me interesa hacerlo compatible para chrome y firefox).

Acá les dejo el link para que puedan probarlo [URL="http://pcamargo.esy.es/c34w"]http://pcamargo.esy.es/c34w[/URL]
Usuario:supervisor
pass: 123456

En el modulo Herramientas-> Importar datos de excel , seleccionen algún excel que no pese mas de 250 kb y le dan a continuar, agan caso omiso a la alerta que les salta, y luego en validar, por favor prueben lo en chrome y firefox.

el código que jquery que utilizo es:

Código Javascript:
Ver original
  1. function PasarDatosValidar()
  2.     {
  3.         //cargando();
  4.         document.cookie = "sesion_c34w[RelaCampExcel]="+JSON.stringify(array_relaciones);
  5.         $("#DivProgressExcel").css("display","block");
  6.        
  7.         var BarraProgress=$("#DivProgressExcel #ProgressExcel"),
  8.         labelexcel=$("#DivProgressExcel #labelexcel"),
  9.         ValorReturn='',
  10.         NumRegistrosExcel=array_datos_excel.length,
  11.         SumaPRogress=100/NumRegistrosExcel,
  12.         valor=0;
  13.         for (var i = 0; i < NumRegistrosExcel; i++)
  14.         {
  15.  
  16.             ValorReturn=validar(array_datos_excel[i]);
  17.             if (ValorReturn='TRUE')
  18.                 {
  19.                     labelexcel.html(valor+'%');
  20.                     valor+=SumaPRogress;
  21.                     BarraProgress.css("width",valor+'%');
  22.                    
  23.  
  24.                 };
  25.         };
  26.         //alert('Terminado');
  27.         //cargandoCompletado();
  28.         //alert(cadena);
  29.  
  30.     }
  31. function validar(datosVal)
  32.     {
  33.         //cargando();
  34.         var retornar=null;
  35.         var accion = "ValDatos";
  36.         $.ajax
  37.             (
  38.                 {
  39.                     url: RutaArchivo,
  40.                     type: 'POST',
  41.                     async:false,
  42.                     data:
  43.                         {
  44.                             accion: accion,
  45.                             datos_excel: JSON.stringify(datosVal),
  46.                         }
  47.                 }
  48.             )
  49.            
  50.         .done
  51.             (
  52.                 function(resp)
  53.                     {
  54.                         retornar='TRUE';
  55.                         //return retornar;
  56.                         //alert('resp');
  57.                     }
  58.             )
  59.         .fail
  60.             (
  61.                 function(jqXHR, exception)
  62.                     {
  63.                         alert(exception);
  64.                         //erroresAjax(jqXHR,exception);
  65.                         //cargandoCompletado();
  66.                     }
  67.             )
  68.        return retornar;
  69.     }
y para el php:
Código PHP:
Ver original
  1. $accion = $_POST['accion'];
  2. if (isset($accion) && $accion=='ValDatos')
  3.         {
  4.             $DatosExcel=json_decode($_POST['datos_excel']);
  5.                          //No hace nada solo verifico que Reciba bien los datos.
  6.         }
(No hace nada solo verifico que Reciba bien los datos.)

Gracias por su ayuda de antemano.

Saludos y disculpen mis errores de ortografía :).

Última edición por camargo94; 23/06/2015 a las 17:39 Razón: etiquetas de codigo