rodrigotnoma Postado Setembro 4, 2009 Denunciar Share Postado Setembro 4, 2009 Boa tarde.Meu fonte:<script> function validar() { if (document.form1.email.value=="") alert("Preencha o campo") else document.form1.submit() } </script>quando não digito nada no campo email, e clico no botão a mensagem é mostrada(alert), só que depois ele efetua o submit.]Como faço para parar a execução se nada for digitado?Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 4, 2009 Denunciar Share Postado Setembro 4, 2009 Como você está chamando essa função ?No evento onsubmit do formulário ?Se sim, basta adcionar um return false ali para impedir que o formulário seja enviado.if (document.form1.email.value==""){ alert("Preencha o campo") return false }else{ document.form1.submit() } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danilo Moraes Postado Setembro 5, 2009 Denunciar Share Postado Setembro 5, 2009 Muitas vezes nem é o document.form1.submit() que esta sendo chamado e sim o proprio formulario esta sendo submetido. Se for no evento onsubmit que tu ta chamando essa funcao, tem que ter um return nele tmb (alem do return que o Jonathan falou... assim:<form action="paginax.html" method="post" name="form1" onsubmit="[b]return[/b] validar()">não esquece de por aquele return false que o jonathan falo ali...T+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigotnoma Postado Setembro 5, 2009 Autor Denunciar Share Postado Setembro 5, 2009 (editado) Seguinte, arrumei o código conforme a ajuda:function validar() { if (document.form1.email.value=="") { alert("Preencha o campo") return false; } else { document.form1.submit() } } Deu certo sim e coloquei a função no onclick do botão.(não sei se é o correto, caso não, poderiam me explicar?)Só que tenho uma dúvida: quando devo colocar return e quando não colocar no evento, como neste caso?Obrigado pela ajuda.Rodrigo Editado Setembro 5, 2009 por Jonathan Queiroz Adcionar tag's (Jonathan) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danilo Moraes Postado Setembro 5, 2009 Denunciar Share Postado Setembro 5, 2009 Na verdade, se tu quer usar um botao pra submeter um formutario, certamente esse botao tem que ser o submit :SSó que tenho uma dúvida: quando devo colocar return e quando não colocar no evento, como neste caso?Bom, pra intender, aconselho a fazer varios testes, mas vamos la:Qualquer efento que receber um false, para na hora... e as que não receberem nada ou true, continuam. Faca assim para testar:<input type="button" value="botao1" onclick="alert('teste');alert('teste2')"> <input type="button" value="botao2" onclick="alert('teste');return false;alert('teste2')"> Bom, você vai ver que o botao 1, vai mostrar 2 alerts e o botao 2 vai mostrar so 1. porque? porque no 2, temos um return false que vai encerrar o efeito do evento. Perceba que se tu colocar so assim: <input type="button" value="botao2" onclick="alert('teste'); false;alert('teste2')"> Ele vai continuar mostrando os dois alerts... Isso porque não foi "retornado" um valor false pro evento. Da mesma forma, quando uma funcao sua vai validar, se ela retornar false, e na declaracao do evento não tiver o return tipo assim: onclick=" funcao()", vai ser a mesma coisa que fazer assim: onclick="false". Por isso temos que ter o return na declaracao do evento para "controla-lo". Nesse caso, aconselho você a colocar a chamada dessa sua funcao no onsubmit do form, com um return... Olha como o codigo ficaria menor: function validar() { if (document.form1.email.value=="") { alert("Preencha o campo") return false; } } <form name="form1" action="paginaPraOndeVaiASubmicao.php" onsubmit="return validar()">Viu? Muito menos linhas, o mesmo efeito e bem mais estruturado ;-)T+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigotnoma Postado Setembro 5, 2009 Autor Denunciar Share Postado Setembro 5, 2009 Boa Danilo.....explicou legal!!!vlw pela dica, me ajudou bastante.Abços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rodrigotnoma
Boa tarde.
Meu fonte:
quando não digito nada no campo email, e clico no botão a mensagem é mostrada(alert), só que depois ele efetua o submit.]
Como faço para parar a execução se nada for digitado?
Obrigado.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.