Ir para conteúdo

POWERED BY:

Arquivado

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

william_droops

Mudar campo

Recommended Posts

Pessoal tenho um formulario, com apenas 2 campos e uso uma função javascript para quando digitar todos os caracteres do primeiro campo ir para o segundo, e no segundo campo, tenho uma função que não permite digitar letras, somente numeros.

O problema é que quando acabo de preencher o 2 campo, o curso não vai para o botão enviar, e se eu clicar "enter",

não aciona o botão como fazia quando não tinha a função, agora eu preciso é com o mouse para acionar o enviar.

 

function apenasnum()

{

var tecla = window.event.keyCode;

tecla = String.fromCharCode(tecla);

if(!((tecla >= "0") && (tecla <= "9")))

{

window.event.keyCode = 0;

}

 

 

<input name="telefone" type="text" size="10" maxlength="8" onKeyPress="apenasnum();" >

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(!((tecla >= "0") && (tecla <= "9")))

Aqui você esta filtrando todas as teclas, inclusive as especiais [tab] - [enter] - [shift] etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta algo como:

 

if(!((tecla >= "0") && (tecla <= "9")) && (tecla != 13))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei, mas não funcionou, eu deixei assim:

 

if(!((tecla >= "0") && (tecla <= "9")&& (tecla != 13)))

 

Mas tem mais um probleminha que me desanimou, só funciona no IE, no FF para o Windows e no FF do linux, não rolou, você sabe me dizer porque ??

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Firefox trabalha com um modelo de objeto de evento diferente do que o IE.

Procura na internet que você, com certeza, vai encontrar códigos já adaptados para ambos os navegadores.

 

ps. sobre o erro, troque

 

if(!((tecla >= "0") && (tecla <= "9")&& (tecla != 13)))

por:

 

if(!((tecla >= "0") && (tecla <= "9")&& (tecla == 13)))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim tudo para de funcionar, não digita nem numero e nem tecla nada.

 

Sem as aspas funcionou no IE:

 

if(!((tecla >= 0) && (tecla <= 9)&& (tecla != 13)))

 

 

Acredito que vou ter que mudar de lógica para trabalhar no Firefox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo, o problema ocorre porque:

1- No firefox event chama-se Event (com e maiusculo)

2- A propriedade keyCode do objeto event do IE tem outro nome no firefox (não lembro agora)

 

Assim tudo para de funcionar, não digita nem numero e nem tecla nada.

Este seu IF esta muito confuso :s mas acho que a ideia você já deve ter pegado (verifique pelo keycod 13 que é o da tecla enter).

 

 

 

Ps.: Esqueci de tirar as aspas

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.