Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Em FormataÇÃo


LuiDauM

Pergunta

huh.gif aew olhemm essa função

function 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 sad.gif

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

biggrin.gif 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

&nbsp;</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&nbsp;</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 &nbsp;</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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...