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 originalfunction PasarDatosValidar()
{
//cargando();
document.cookie = "sesion_c34w[RelaCampExcel]="+JSON.stringify(array_relaciones);
$("#DivProgressExcel").css("display","block");
var BarraProgress=$("#DivProgressExcel #ProgressExcel"),
labelexcel=$("#DivProgressExcel #labelexcel"),
ValorReturn='',
NumRegistrosExcel=array_datos_excel.length,
SumaPRogress=100/NumRegistrosExcel,
valor=0;
for (var i = 0; i < NumRegistrosExcel; i++)
{
ValorReturn=validar(array_datos_excel[i]);
if (ValorReturn='TRUE')
{
labelexcel.html(valor+'%');
valor+=SumaPRogress;
BarraProgress.css("width",valor+'%');
};
};
//alert('Terminado');
//cargandoCompletado();
//alert(cadena);
}
function validar(datosVal)
{
//cargando();
var retornar=null;
var accion = "ValDatos";
$.ajax
(
{
url: RutaArchivo,
type: 'POST',
async:false,
data:
{
accion: accion,
datos_excel: JSON.stringify(datosVal),
}
}
)
.done
(
function(resp)
{
retornar='TRUE';
//return retornar;
//alert('resp');
}
)
.fail
(
function(jqXHR, exception)
{
alert(exception);
//erroresAjax(jqXHR,exception);
//cargandoCompletado();
}
)
return retornar;
}
y para el php:
Código PHP:
Ver original$accion = $_POST['accion'];
if (isset($accion) && $accion=='ValDatos') {
//No hace nada solo verifico que Reciba bien los datos.
}
(No hace nada solo verifico que Reciba bien los datos.)
Gracias por su ayuda de antemano.
Saludos y disculpen mis errores de ortografía :).