Ir para conteúdo
Fórum Script Brasil

Roberto Neves

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que Roberto Neves postou

  1. Para que as cetas funcionem altere o primeiro if para de if (nTecla != 8) { para if ((nTecla != 8) && (nTecla != 0)){ Mas aqui não ficou perfeito, o primeiro caracter funciona bem, os outros ele pula o cursor para o final do campo. Mas de qualquer forma já é uma melhora.
  2. Pessoal, primeira participação no forum. Resolvi o problema do Firefox, IE e Netscape. ( Testei o código e esta funcionando perfeito, até o backspace ) Também mudei o código para document.getElementById O problema do backspace foi resolvido com um If que no caso do Firefox nem executa o script e apaga o conteudo do input. O Código ficou assim: <script> function txtBoxFormat(strField, 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; } else if(document.getElementById) { // FireFox nTecla = evtKeyPress.which; } if (nTecla != 8) { sValue = document.getElementById(strField).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( ":", "" ); 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) == "/")) bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")) bolMask = bolMask || (sMask.charAt(i) == ":") if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } //objForm[strField].value = sCod; document.getElementById(strField).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; } } } </script> O input fica assim: <input name="telefoneresidencial" type="text" id="telefoneresidencial" onKeyPress="return txtBoxFormat('telefoneresidencial', '(99) 9999-9999', event);" maxlength="14"/> Falou abraços
×
×
  • Criar Novo...