Pra funcionar nos dois browsers, você tem que verificar as duas propriedades, preferencialmente numa função (pra num ficar uma linha enorme ali dentro do onkeypress). Por exemplo:
function validar(e) {
var tecla;
if (e.keyCode) { // IE
tecla = e.keyCode;
}
else if (e.which) { // Firefox
tecla = e.which;
}
else { // Sei lá! :P
return false;
}
return !(tecla < 48 || tecla > 57);
}
E no input:
onkeypress="return validar(event)"
Até mais,
R
renatopbPJ
Desse jeito que o CD1 falou, as outras teclas que não forem números, não vão “funcionar”. Se quiseres permitir o uso do Del, Backspace, etc, mantém parte daquele teu código inicial:
function validar(e)
{
var tecla;
if (e.keyCode) // IE
{
tecla = e.keyCode;
}
else if (e.which) // Firefox
{
tecla = e.which;
}
else // Sei lá! :P
{
return false;
}
if (tecla < 48 || tecla > 57)
{
e.returnValue = false;
}
}
[]s
G
Guilherme_MelloPJ
“CD1”:
Olá JavaPlayer,
A propriedade keyCode só existe pro IE. No Firefox você usa “which”. Tente assim:
Pra funcionar nos dois browsers, você tem que verificar as duas propriedades, preferencialmente numa função (pra num ficar uma linha enorme ali dentro do onkeypress). Por exemplo:
function validar(e) {
var tecla;
if (e.keyCode) { // IE
tecla = e.keyCode;
}
else if (e.which) { // Firefox
tecla = e.which;
}
else { // Sei lá! :P
return false;
}
return !(tecla < 48 || tecla > 57);
}
Pra funcionar nos dois browsers, você tem que verificar as duas propriedades, preferencialmente numa função (pra num ficar uma linha enorme ali dentro do onkeypress). Por exemplo:
function validar(e) {
var tecla;
if (e.keyCode) { // IE
tecla = e.keyCode;
}
else if (e.which) { // Firefox
tecla = e.which;
}
else { // Sei lá! :P
return false;
}
return !(tecla < 48 || tecla > 57);
}
Desse jeito que o CD1 falou, as outras teclas que não forem números, não vão “funcionar”. Se quiseres permitir o uso do Del, Backspace, etc, mantém parte daquele teu código inicial:
function validar(e)
{
var tecla;
if (e.keyCode) // IE
{
tecla = e.keyCode;
}
else if (e.which) // Firefox
{
tecla = e.which;
}
else // Sei lá! :P
{
return false;
}
if (tecla < 48 || tecla > 57)
{
e.returnValue = false;
}
}
[]s
É isso aí renatopb, no meu caso eu preciso apenas de números no campo. Mas a dica é válida.
Valeu!
R
renatopbPJ
Ô!
Só pra comentar, se for do jeito do CD1, se o cara escrever o número errado, ele não consegue apagar, a não ser que ele use o mouse pra selecionar o número e digite outro por cima :razz: