Controle de introdução de caracteres de um campo de texto com Javascript
Podemos impedir com Javascript que os caracteres que o usuário tecle em um campo de texto de um formulário apareçam.Por Ismael Zori
Publicado em: 26/5/08
Isto pode ser útil para campos que só admite números ou letras.
Por exemplo, vamos fazer que em um campo de texto de um formulário só se permitam colocar números decimais do tipo 9999.99:
Precisamos de uma função em JavaScript (por exemplo):
function fieldNumber (objeto)
{
var valorCampo;
var evento_key = window.event.keyCode;
var numPosPonto = 0;
var strParteInteira = "";
var strParteDecimal = "";
var NUM_DECIMAIS = 2;
switch (evento_key)
{
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 46:
break;
default:
window.event.keyCode = 0;
return false;
}
valorCampo = objeto.value;
if (evento_key == 46)
if (valorCampo.indexOf(".") != -1)
{
window.event.keyCode = 0;
return false;
}
/* Só pode teclar o número de decimais indicado em NUM_DECIMAIS */
if ((numPosPonto = valorCampo.indexOf(".")) != -1)
{
strParteInteira = valorCampo.substr(0,(numPosPonto - 1));
strParteDecimal = valorCampo.substr((numPosPonto + 1), valorCampo.length)
if (strParteDecimal.length > (NUM_DECIMAIS - 1))
{
window.event.keyCode = 0;
return false;
}
}
return true;
}
Teremos uma página com o formulário e a caixa de texto. Teremos que chamar à função "fieldNumber" no evento onkeypress:
<input type="text" name="txtImporte" onkeypress="fieldNumber(this)">
Se tiverem algum problema, não hesitem em entrar em contato comigo enviando um e-mail a
iszori@hotmail.com