Tenho um script que trava a inserção de letras no meu campo:
functiontipoTeclaNumero(obj,event){varBACKSPACE=8;CheckTAB=true;vartecla=event.keyCode;varkey;if(navigator.appName=='Microsoft Internet Explorer'){key=String.fromCharCode(tecla);}else{key=event.charCode;}if(tecla==13){returnfalse;}if(tecla==16){returntrue;}if(tecla==17){returntrue;}if(tecla==46){returntrue;}if(tecla==BACKSPACE){returntrue;}if(tecla==9){returntrue;}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?
if (MSIE) {
Tecla = event.keyCode;
Campo = window.event.srcElement; }
else {
Tecla = e.which;
Campo = e.target;
}
D
diego.mendes
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
J
julianostr
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.
D
diego.mendes
Mesmo jogando “” pro valor do objeto a letra vai…
:shock:
J
julianostr
Hã? Como??
D
diego.mendes
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.