wmo.btu Postado Fevereiro 28, 2011 Denunciar Share Postado Fevereiro 28, 2011 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Março 1, 2011 Denunciar Share Postado Março 1, 2011 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wmo.btu Postado Março 1, 2011 Autor Denunciar Share Postado Março 1, 2011 Valeu Romerito, cara funcionou perfeitamente.É sempre bom poder contar com pessoas como vc, pessoas feras e que querem ajudar sempre.Valeu novamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
wmo.btu
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
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.