Seguinte moçada…
Tenho um script que trava a inserção de letras no meu campo:
function tipoTeclaNumero(obj,event){
var BACKSPACE= 8; CheckTAB=true;
var tecla= event.keyCode;
var key;
if(navigator.appName=='Microsoft Internet Explorer')
{
key = String.fromCharCode(tecla);
}
else
{
key = event.charCode;
}
if ( tecla == 13 ) { return false; }
if ( tecla == 16 ) { return true; }
if ( tecla == 17 ) { return true; }
if ( tecla == 46 ) { return true; }
if ( tecla == BACKSPACE ) { return true; }
if ( tecla == 9 ) { return true; }
if (!isDigit(key)) {event.keyCode = "";}
}
só que existe um problema, no mozilla, não existe método de seta o event.keyCode, então alguém sabe como faço pra contornar isso?
valeu :idea:
Tente assim:
if (MSIE) {
Tecla = event.keyCode;
Campo = window.event.srcElement; }
else {
Tecla = e.which;
Campo = e.target;
}
Então Juliano,
Eu preciso setar e quando dou os comandos:
e.which ="";
e/ou
e.target="";
ele me dá a msg de erro
setting a property that has only a getter
e ae como faço pra não deixar a letra não aparecer no campo:?:
valeu
Vou te passar um exemplo que apareceu aqui mesmo no forum e então podes adaptar:
function FormataData(e,obj){
navegador = /msie/i.test(navigator.userAgent);
if (navegador){
var tecla = event.keyCode;
}else{
var tecla = e.which;
}
if(tecla > 47 && tecla < 58){ // numeros de 0 a 9
if(obj.value.length == 2 || obj.value.length == 5)
obj.value += '/';
return true;
}else{
return(tecla == 8 || tecla == 9); // backspace e tab
}
}
<INPUT TYPE="text" NAME="seila" value="" onKeyPress="return
FormataData(event,this)" size="10" maxlength="10">
E exemplo somente aceita número e funciona no IE e no FF.
Mesmo jogando “” pro valor do objeto a letra vai…
:shock:
Juliano o problema é que quando eu digito uma letra…
e lah no meu javascript eu verifico se é letra e seto o objeto com o valor nulo ou em branco, a letra que foi digitada continua lá.
Preciso de uma forma de travar letras no FF.
alguém sabe como?
pq o método event.keyCode e event.whick não tem setter.
:?: