• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Blue_Acid

Evitar ENTER no formulário

4 mensagens neste tópico

Viva pessoal, tenho estado de volta de um problema e como já me estou a passar com isto, decidi escrever aqui para ver se alguem já teve problemas semelhantes.

Estou a contruir um pequeno form para registar e-mails para uma BD. Tenho o formulário feito, e para evitar alguns engraçadinhos, decidi colocar um control de entrada de dados, ou seja tenho um script k valida se o e-mail está escrito correctamente.

Tenho uma imagem que faz de botão, ou seja Activa o Script. Mas se em preencher e carregar no ENTER coloquei esta linha onsubmit="checkEmail()" para fazer tb a vrificação, o problema é que mesmo que o erro retome ERRO, ele faz o submit do form na mesma.

Como é que evito k ele faça o submit usando o ENTER.

Um Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que tu queres não é desactivar o Enter mas sim ter controlo sobre a sumbissão.

Uma forma de fazeres isso é usares:

<form OnSubmit="return false;" action="xpto.php" method="post">

[...]

  <input type="Button" name="btOk" value="OK" onclick="checkEmail(this.form);">

</formt>

E depois na tua função de email fazes:

function checkEmail(frm) {

  if (formulário está ok) {

    frm.submit();

  } else {

    return false;

  }

}

É possível que haja uma solução mais elegante para o teu caso, mas esta é uma possível solução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

M6, muito obrigado, servido perfeitamente :P

5 Estrelas mesmo. Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

M6, muito obrigado, servido perfeitamente :D

5 Estrelas mesmo. Obrigado

De nada. :P

O "truque" é não deixares fazer qualquer submissão, dai teres onSubmit="return false" e só quando validas tudo é que fazes form.submit().

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora