[RESOLVIDO] Aguarde... no submit sem atrapalhar a validação
19 respostas
M
Monjardim
Olá pessoal
Já revirei tudo e não achei um exemplo capaz de solucionar o meu problema.
Preciso que assim que o submit seja clicado que passe pela validação e caso não ache erro entra em ação o gif de aguarde.
Creio que voce vai ter que trabalhar com requisições ajax.
Quando voce faz um submit da forma como esta fazendo, a pagina é recarregada.
M
Monjardim
Olá Campelo. Já vi alguns exemplos aqui no Forum que tiveram sucesso dessa forma, mas não consegui de maneira alguma. No proprio formulário já tem essa forma de impedir que avance quando vc trabalha com required nos inputs, mas essa ação não funciona quando se trabalha com onClick… dai tive que validar os campos com javascript… e não entendo qse nada de java… enfim… estou apelando para os amigos aqui.
C
campelo.m
Nao bastaria voce chamar o metodo rodaGif() depois do ultimo if do validaForm()?
O ajax seria usado via javascript, nao com java.
M
Monjardim
Rapaz… já fiz de tudo que meu medilcre conhecimento pôde me levar… se vc tiver um exemplo de como fazer pra fazer esse gif rodar caso tudo esteja correto no formulário eu agradeço… o gif é simplesmente pra não deixar o usuario olhando pra tela enquanto as fotos carregam… dependendo do tamanho das fotos a ela sem gif é um perigo o cabra achar que tem defeito… assim que as fotos carregam o submit é enviado normalmente para o recebe_dados.php
C
campelo.m
Seu problema entao nao tem nada haver com o post inicial, seu problema é o carregamento demorado de fotos, pois voce so vai fazer o submit depois que as fotos tiverem sido totalmente carredas, correto?
M
Monjardim
Campelo… se o formulário não tiver erro o gif roda perfeito até o carregamento de todas as fotos… o problema é se tiver algum input vazio ele se atrapalha todo… a página não envia e nem volta pra acertar o input… fica o gif rodando e nada.
De qq forma que vc puder me orientar já tá melhor do que como está! kkkkk
C
campelo.m
Ok, entao se o form nao valida, voce tem que colocar o display none no gif.
functiontirarGif(){
$(document).ready(function(){
$('#aguarde, #blanket').css('display','none');});}
functionvalidaForm(){
d=document.cadastro;if(d.cambio.value==""){
alert("DETERMINE O TIPO DE CÂMBIO!");tirarGif();d.cambio.focus();returnfalse;}
}
M
Monjardim
Agora o form valida, mas depois envia direto pro submit sem passar pelo gif.
nessa alteracao de script que passou, voce nao tem o metodo rodaGit(); acrescentrou o tirarGif() mais retirou o rodaGif(), e dentro dos ifs voce nao colocou o tirarGif() para quando der erro de validacao.
M
Monjardim
realmente… não me atentei para o TIRA e achei que era o mesmo que só tivesse subido…
Mas fiz aqui a mudança e assim que eu clico no [Enviar] ele roda o gif sem ação alguma.
abra o console do browser e veja se existe alguma msg
M
Monjardim
Não acusa nada de anormal…
No print abaixo mostra que ao clicar em [Enviar] ele procura o input vazio e mostra a mensagem de erro… caso eu clicar no [OK], ele aciona o GIF e não me deixa acertar o input.
Tire o rodaGif do evento onclick e coloque no inicio do validaForm.
Acho que o rodaGif esta sendo chamado depois que termina o valida form
M
Monjardim
Acredito que não, pois quando eu clico em enviar ele procura o erro do primeiro, mas já sai disparando o gif junto antes de ir pro segundo erro do form… mas vou tentando aqui até conseguir!
M
Monjardim
do jeito que vc falou ele vai direto pro submit sem gif
M
Monjardim
Campelo, dá uma olhada no que me resolveu por completo!! Só tive que fazer uma gambiarra pra empurrar a imagem pra baixo com alguns [br] pois não entendo de js.
Desde já agradeço a paciência!