Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ebdt

[Resolvido] a imagem de precarregamento não é exibida

Recommended Posts

tenho um script para enviar um formulário de newsletter sem atualizar a página, e ao enviar funciona tudo certo, mas a imagem de preloader.gif não apareçe e o campo de email não é resetado...

 

alguém tem alguma idéia?

 

meu script JS

$("#form-news").submit(function() {
       var email = $("#email").val();

       $.post('http://localhost/site10/scripts/php/envia.php', {email:email}, function(resposta) {
           $("#status").fadeIn(1000);
           if (resposta != false) {
               $("#status").html(resposta);
           } else {
               $("#status").html("<img src='loader.gif' alt='Enviando' /> mensagem com a imagem");
               $("#email").val("");
           }
       });
   });

Compartilhar este post


Link para o post
Compartilhar em outros sites

\

E ai brother, chegou a ver teu log ? tipo firebug ou console do chrome, não sei qual tu usa rsrs, mas da uma olhada, segunda opinião, use o console.log para ver se realmente a imagem no teu <img src/> está obtendo sucesso na requisição, 200ok, ou como está sendo tratado o script, até mesmo para didática própria, acho que precisa só analisar onde vai cada parte, outra questão que notei foi teu IF, se ele conseguir resposta do PHP ele vai mostrar na região definida como #status e só, caso não tenha resposta nenhuma é que ele mostra a imagem do loader.gif, acho que compreendestes o que eu quis dizer aqui.

 

O inicio da solução seria algo como:

 

$("#form-news").submit(function() {
       var email = $("#email").val();

       $.post('http://localhost/site10/scripts/php/envia.php', {email:email}, function(resposta) {
           // Não sei o que prentende com status, mas é melho deixar apenas para o pre-loader;
           $("#status").html("<img src='loader.gif' alt='Enviando' /> mensagem com a imagem");
           $("#status").fadeIn(1000);

           if (resposta != false) {
               $("#email").val("");
           } else {
               $("#email").val("");
           }
       });
});

 

Cara não sei se fui claro nas minhas palavras mas qualquer coisa posta aee,

 

abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro, impeça que o comportamento html seja seguido;

segundo, não use urls absolutas;

terceiro, pre carregue a imagem;

e quarto, se você ta "pre carregando", tem que ser antes de enviar. E não depois.

 

   $('<img src="loader.gif" />');

   $("#form-news").submit(function() {
       var email = $("#email").val();


       $("#status").html("<img src='loader.gif' alt='Enviando' /> mensagem com a imagem").fadeIn(1000);

       $.post('/site10/scripts/php/envia.php', {email:email}, function(resposta) {
           if (resposta != false) {
               $("#status").html(resposta);
           } else {
               $("#email").val("");
           }
       });
       return false;
   });

Vê se agora deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.