Guest - Marcos - Postado Junho 9, 2005 Denunciar Share Postado Junho 9, 2005 Pessoal,Teria alguma função que obriga-se o usuário a digitar a data no formato tradicional, DD/MM/AAAA???Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Raposo Postado Junho 9, 2005 Denunciar Share Postado Junho 9, 2005 Então Dom Joga uma máscara no campo : <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> <link href="pp.css" rel="stylesheet" type="text/css"> </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="validacao" id="validacao"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td width="124" height="33"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cep </font></td> <td width="151"> <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 height="30"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CPF</font></td> <td><strong> <input name="cpf2" type="text" id="cpf22" onKeyPress="return txtBoxFormat(document.Form, 'cpf2', '999.999.999 99', event);" size="14" maxlength="14"> </strong></td> </tr> <tr> <td height="36"><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 height="34"><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 height="38"><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 height="30"><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 height="32"><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 height="34"><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> <tr> <td height="15"> </td> <td><strong> <input name="cpf" type="text" id="cpf" class=borda_cadastro onKeyPress="return txtBoxFormat(document.Form, 'cpf', '999.999.999 99', event);" size=14 maxlength="14"> </strong></td> </tr> </table> <input type="submit" name="Submit" value="Submit" Onsubmit="return submete()" > </form> </body> </html> Abc Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Marcos -
Pessoal,
Teria alguma função que obriga-se o usuário a digitar a data no formato tradicional, DD/MM/AAAA???
Grato
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.