Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eric Princi

Problema no IE7 - Travando teclas em um textfield

Recommended Posts

Olá Pessoal,Tenho uma função para permitir que o usuário digite apenas número e caracteres adicionais em um textfield.E chamo essa função no textfield colocando: onKeyPress="return tratarNumero(event,',')"Para cada tecla pressionada, a função retorna TRUE ou FALSE e trava ou não a digitação de um caracter.Isso funciona normalmente no Firefox e no IE6. Porém no IE7 não consigo fazer funcionar, ele chama a função, retorna true ou false, mas não trava o textfield. Ele simplesmente deixa digitar o que quiser. Tanto que para testar coloquei onKeyPress="return false" no textfield pra ver se não deixava digitar nada...MAS DEIXA!Se eu coloco return false no textfield e testo no IE6 e no Firefox ele trava o campo, como é o esperado.Alguém sabe o que pode ser?Valeu.Eric

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, obrigado!

 

Então a função é a seguinte:

function tratarNumero(e,pCaracteresAdicionais) { 		var key = '';		var len = len2 = 0;		var strCheck = '0123456789' + pCaracteresAdicionais;		var codigo = (window.Event) ? e.which : e.keyCode;		if (codigo == 13) return true;  // Tecla Enter		if (codigo == 8) return true;  // Tecla Backspace		//if (e.keyCode == 46) return true;  // Tecla Delete		if (e.keyCode == 37) return true;  // seta para esquerda		if (e.keyCode == 39) return true;  // seta para direita		key = String.fromCharCode(codigo);  // Pega o valor de "key"		if (strCheck.indexOf(key) == -1)			return false; // Nao é uma tecla valida			else  			return true; // É uma tecla valida		}
Vale lembrar que o problema NÃO está na função pois ela retorna o valor corretamente, o problema está na chamada quando feita pelo IE7.

 

<input name="dwp" type="text" id="dwp" size="6" maxlength="4" title="DWP" onKeyPress="return tratarNumero(event,',')">

Quando a função retorna FALSE, no IE7 o campo não é travado! Como eu disse, só para testar eu até troquei a chamada por onKeyPress="return false" e mesmo assim o campo fica liberado!

 

Bom é isso...desde já obrigado!

Eric

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.