Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda com esse javascript


wmo.btu

Pergunta

Pessoal gostaria da ajuda de vocês para esse código abaixo:

Bom nele tento validar um campo de texto para aceitar apenas letras, não deixando colocar acento, caracteres especiais e nem números.

No IE ele valida belezinha, porém no firefox nada feito, preciso q valida no firefox, chrome, opera.

Se alguém puder me ajudar fico grato.

function SomenteTeclas(e)

{

var tecla;

if(window.event)

{

tecla = event.keyCode

if((tecla == 32) || (tecla > 61 && tecla < 91)||(tecla > 95 && tecla < 123)) return true;

}

else if(event.which)

{

tecla = event.which

if((tecla == 32) || (tecla > 61 && tecla < 91)||(tecla > 95 && tecla < 123)) return true;

}

if(window.event)//IE

{

tecla = event.keyCode

}

else if(event.which)// Netscape/Firefox/Opera

{

tecla = event.which

}

if(tecla==13)

{

document.getElementById('form').submit();

}

else

{

if (tecla != 8) return false;

else return true;

}

}

E no campo uso assim: onkeypress="return SomenteTeclas(event)";

Esqueci de avisar o Enter também faço funcionar para o botão input, no IE funciona tranquilo, porém nos outros nada.

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

i aew wmo.btu, acho que o erro está no event que você está chamando, você deviria chamar como e, pois é o event passado como parametro, ficando mais ou menos assim:

function SomenteTeclas(e)
            {
                var tecla;
                if(window.event)
                {
                    tecla = e.keyCode
                    if((tecla == 32) || (tecla > 61 && tecla < 91)||(tecla > 95 && tecla < 123)) return true;
                }
                else if(e.which)
                {
                    tecla = e.which
                    if((tecla == 32) || (tecla > 61 && tecla < 91)||(tecla > 95 && tecla < 123)) return true;
                }
                if(window.event)//IE
                {
                    tecla = e.keyCode
                }
                else if(e.which)// Netscape/Firefox/Opera
                {
                    tecla = e.which
                }
                if(tecla==13)
                {
                    document.getElementById('form').submit();
                }
                else
                {
                    if (tecla != 8) return false;
                    else return true;
                }
            }
bom já pensou em simplificar um pouco mais isso?! deixando tipo assim:
<html>
	<head>
		<script type='text/javascript'>

			window.onload = function(){
				SomenteLetra(document.getElementById('texto'));
			}
			function SomenteLetra(obj)
			{
				obj.onkeyup = function(){
					obj.value = obj.value.replace(/[^a-z]/gi,'');
				}
			}
		</script>
	</head>
	<body>
		<input type='text' id='texto' /><br />
	</body>
</html>

espero que ajude, abraço!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...