Cita:
Iniciado por Alexis88 Si estás usando el método
$.ajax
, no puedes esperar a que se realice la redirección hacia el archivo destino pues el uso principal de una petición asíncrona es el de enviar y recoger datos consultando a un archivo en el lado del servidor sin la necesidad de recargar la ventana.
Para lo que buscas hacer, solo te basta con usar unas cuantas líneas de código:
Código Javascript
:
Ver original$(document).ready(function() {
$('#form').submit(function(event){
var self = this;
event.preventDefault();
$('#carga').show("slow", function(){
$(this).hide("slow", function(){
self.submit();
});
});
});
});
Con los métodos [URL="http://api.jquery.com/show/"][inline]show[/inline][/URL] y [URL="http://api.jquery.com/hide/"][inline]hide[/inline][/URL], muestras y ocultas al GIF, mientras que la función que le paso como segundo argumento a cada uno de estos métodos es el callback que se ejecutará al finalizar el método en cuestión. Finalmente, realizo el envío de los datos del formulario usando el método [URL="https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.submit"][inline]submit[/inline][/URL]. Asigno el formulario a la variable
self
para que no ocurra un conflicto con el GIF al usar la palabra reservada
this
pues ya no aplicaría en el ámbito en el que realizo el envío de los datos.
Saludos
Hola gracias por tu pronta respuesta..
Implemente tu codigo borrando el mio (asi era o te entendi mal?)
pero lo que buscaba es que a la hora de enviar los datos por un formulario este carga y quisiera que el tiempo que cargue salga el gif "cargando" hasta que el archivo php responda.. por eso simule con un sleep en el php.
Probe tu codigo pero se muestra el gif y desaparece en un instante.. y luego empieza a cargar la pagina los 5 segundos que estan en el php sin el gif..
Espero que me puedas ayudar
Saludos..