Ir para conteúdo

POWERED BY:

Arquivado

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

D2th3

[resolvido]Input Máscara não funciona no Firefox

Recommended Posts

Amigos,

 

O script a seguir funciona muito bem no Internet Exploree, porém não funciona no Firefox. Ele não deixa eu digitar nada(nem letras, nem números) no campo que eu adcionei esse JS.

 

function txtBoxFormat(objeto, sMask, evtKeyPress) {
	 var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	 if(document.all) { // Internet Explorer
	   nTecla = evtKeyPress.keyCode; }
	 else if(document.layers) { // Nestcape
	   nTecla = evtKeyPress.which;
	 }

	 sValue = objeto.value;

	 // Limpa todos os caracteres de formatação que
	 // já estiverem no campo.
	 sValue = sValue.toString().replace( "-", "" );
	 sValue = sValue.toString().replace( "-", "" );
	 sValue = sValue.toString().replace( ".", "" );
	 sValue = sValue.toString().replace( ".", "" );
	 sValue = sValue.toString().replace( "/", "" );
	 sValue = sValue.toString().replace( "/", "" );
	 sValue = sValue.toString().replace( ":", "" );
	 sValue = sValue.toString().replace( ":", "" );
	 sValue = sValue.toString().replace( "(", "" );
	 sValue = sValue.toString().replace( "(", "" );
	 sValue = sValue.toString().replace( ")", "" );
	 sValue = sValue.toString().replace( ")", "" );
	 sValue = sValue.toString().replace( " ", "" );
	 sValue = sValue.toString().replace( " ", "" );
	 fldLen = sValue.length;
	 mskLen = sMask.length;

	 i = 0;
	 nCount = 0;
	 sCod = "";
	 mskLen = fldLen;

	 while (i <= mskLen) {
	   bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
	   bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

	   if (bolMask) {
		 sCod += sMask.charAt(i);
		 mskLen++; }
	   else {
		 sCod += sValue.charAt(nCount);
		 nCount++;
	   }

	   i++;
	 }

	 objeto.value = sCod;

	 if (nTecla != 8) { // backspace
	   if (sMask.charAt(i-1) == "9") { // apenas números...
		 return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
	   else { // qualquer caracter...
		 return true;
	   } }
	 else {
	   return true;
	 }
   }

No HTML

<input name="CPF" type="text" class="input" id="CPF" maxlength="14" onkeypress="return txtBoxFormat(this, '999.999.999-99', event);" tabindex="3">

Alguém pode me ajudar?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tal mudar de script?

http://elcio.com.br/ajax/mascara/

 

Considero esses com ER bem mais fáceis de serem aplicados, e mais funcionais.

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.