LuiDauM Postado Junho 8, 2004 Denunciar Share Postado Junho 8, 2004 aew olhemm essa funçãofunction FORMATA() if ((document.FORM.DT_NASC.value.length) == 2) {document.FORM.DT_NASC.value = document.FORM.DT_NASC.value + "/";} if ((document.FORM.DT_NASC.value.length) == 5) {document.FORM.DT_NASC.value = document.FORM.DT_NASC.value + "/";} tipo daí eu chamo assim <input name="DT_NASC" type="text" onKeyPress ="if (event.keyCode <48 || event.keyCode > 57) event.returnValue = false;" onKeyUp="return FORMATA()" size="20" maxlength="10"> daew quando você aperta o backspace pra voltar ele buga tipo assim"01/01/' SE ESTIVER ASSIM E você APERTAR O BACKSPACE ele buga e não volta porque ele insere a barra novamente.Se alguém já tiver tido esse problema, souber como arruma ou souber uma formatação q não bugue por favor me fale urgente q eu to no aperto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tavinho Postado Junho 11, 2004 Denunciar Share Postado Junho 11, 2004 Caro LuiDauM !!!Aqui vai um script bem interessante com mascara de entrada para varios tipos de informações, ve o que te serve e modifique a vontade ...<html> <head> <title>Máscaras para Formulários</title> <script language="JavaScript"> /*** * Descrição.: formata um campo do formulário de * acordo com a máscara informada... * Parâmetros: - objForm (o Objeto Form) * - strField (string contendo o nome * do textbox) * - sMask (mascara que define o * formato que o dado será apresentado, * usando o algarismo "9" para * definir números e o símbolo "!" para * qualquer caracter... * - evtKeyPress (evento) * Uso.......: <input type="textbox" * name="xxx"..... * onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> * Observação: As máscaras podem ser representadas como os exemplos abaixo: * CEP -> 99.999-999 * CPF -> 999.999.999-99 * CNPJ -> 99.999.999/9999-99 * Data -> 99/99/9999 * Tel Resid -> (99) 999-9999 * Tel Cel -> (99) 9999-9999 * Processo -> 99.999999999/999-99 * C/C -> 999999-! * E por aí vai... ***/function txtBoxFormat(objForm, 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; } sValue = objForm[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( " ", "" ); 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) == " ")) if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } objForm[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; } }//Fim da Função Máscaras Gerais</script></head> <body> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Formatação de várias Máscaras de Entradas para campos de Formulários</strong></font> <form name="Form"> <table border="0" cellspacing="2" cellpadding="2"> <tr> <td width="66"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cep </font></td> <td width="128"> <input type="text" name="str_cep" maxlength="10" size="10" onKeyPress="return txtBoxFormat(document.Form, 'str_cep', '99.999-999', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CPF</font></td> <td> <input type="text" name="str_cpf" maxlength="14" size="14" onKeyPress="return txtBoxFormat(document.Form, 'str_cpf', '999.999.999 99', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CNPJ</font></td> <td><input type="text" name="str_cnpj" maxlength="18" size="18" onKeyPress="return txtBoxFormat(document.Form, 'str_cnpj', '99.999.999/9999-99', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data</font></td> <td><input type="text" name="str_data" maxlength="10" size="10" onKeyPress="return txtBoxFormat(document.Form, 'str_data', '99/99/9999', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tel Residencial</font></td> <td><input type="text" name="str_tel2" maxlength="14" size="14" onKeyPress="return txtBoxFormat(document.Form, 'str_tel2', '(99) 9999-9999', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tel Celular </font></td> <td> <input type="text" name="str_tel" maxlength="14" size="14" onKeyPress="return txtBoxFormat(document.Form, 'str_tel', '(99) 9999-9999', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Processo</font></td> <td><input type="text" name="str_proc" maxlength="20" size="20" onKeyPress="return txtBoxFormat(document.Form, 'str_proc', '99.999999999/9999-99', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Conta </font></td> <td> <input type="text" name="str_cc" maxlength="6" size="10" onKeyPress="return txtBoxFormat(document.Form, 'str_cc', '9999-!', event);"> </td> </tr> </table> </form> </body> </html>Espero ter te ajudado ...Um abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LuiDauM
aew olhemm essa função
tipo daí eu chamo assimdaew quando você aperta o backspace pra voltar ele buga tipo assim
"01/01/' SE ESTIVER ASSIM E você APERTAR O BACKSPACE ele buga e não volta porque ele insere a barra novamente.
Se alguém já tiver tido esse problema, souber como arruma ou souber uma formatação q não bugue por favor me fale urgente q eu to no aperto
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.