salvacao Postado Novembro 10, 2004 Denunciar Share Postado Novembro 10, 2004 Galera peguei alguns códigos referente a máscara no fórum só que não está dando certo, será que podem me ajudar? Coloquei o meu código aí para vocês entenderem o que fiz. Quando eu digito o cpf no ‘text’ nada acontece. <script language=javascript> function FormataCPF(nome){ CPF = getValue(nome); CPF = Limp(CPF); if(CPF.length == 11){ value = Mascara(CPF, '999.999.999-99'); setValue(nome, value); msgCPF = 'no'; } else { if(CPF.length > 0){ erroValue = ('Verifique o CPF digitado, pois estão faltando ou sobrando números.'); msgCPF = 'yes'; } else msgCPF = 'no'; } } </script> <form action="<?php echo $editFormAction; ?>" method="POST" name="frmincfornecedor" id="frmincfornecedor"> . . <td width="40%"><input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25" onChange="FormataCPF(this.frmincfornecedor,'frmCnpjCpf','frmCnpjCpf')"></td> </form> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Novembro 10, 2004 Denunciar Share Postado Novembro 10, 2004 Cara você pegou o código pela metado está faltando várias functions para ele funcionar.Dá uma olhada nesse tópico q respondi a um tempo atrás para o MauF...http://scriptbrasil.com.br/forum/index.php?showtopic=38342AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 salvacao Postado Novembro 11, 2004 Autor Denunciar Share Postado Novembro 11, 2004 Crystian, fiz da forma que você falou coloquei todo o código, mas quando estou no campo informando o Cpf e dou TAB ele dá uma mensagem no rodapé do Internet Explorer “Erro na página”. O que devo fazer?<code><script Language = "JavaScript">function VerificaCPF(nome) {var CPF = getValue(nome);if (CPF == '') { alert('Favor informar o CPF!'); return false;}CPF = Limp(CPF);total = CPF.length;for(t=0; t < 10; t++){ cont = 0; for(a=0; a < total; a++){ if(CPF.substring(a,a+1)==(t+'')){ cont++; if(cont == 11){alert('CPF inválido.'); return false;} } }}var POSICAO, I, SOMA, DV, DV_INFORMADO;var DIGITO = new Array(10);DV_INFORMADO = CPF.substr(9, 2); for (I=0; I<=8; I++) { DIGITO = CPF.substr( I, 1);}POSICAO = 10;SOMA = 0;for (I=0; I<=8; I++) { SOMA = SOMA + DIGITO * POSICAO; POSICAO = POSICAO - 1;}DIGITO[9] = SOMA % 11;if (DIGITO[9] < 2) { DIGITO[9] = 0; }else{ DIGITO[9] = 11 - DIGITO[9]; }POSICAO = 11;SOMA = 0;for (I=0; I<=9; I++) { SOMA = SOMA + DIGITO * POSICAO; POSICAO = POSICAO - 1;}DIGITO[10] = SOMA % 11;if (DIGITO[10] < 2) { DIGITO[10] = 0; }else { DIGITO[10] = 11 - DIGITO[10]; }DV = DIGITO[9] * 10 + DIGITO[10];if (DV != DV_INFORMADO) { if(msgCPF == 'no') alert('CPF inválido'); return false;}return true;}function FormataCPF(nome){CPF = getValue(nome);CPF = Limp(CPF);if(CPF.length == 11){ value = Mascara(CPF, '999.999.999-99'); setValue(nome, value); msgCPF = 'no';} else { if(CPF.length > 0){ erroValue = ('Verifique o CPF digitado, pois estão faltando ou sobrando números.'); msgCPF = 'yes'; } else msgCPF = 'no';}}function Limp©{qtd = c.length;var v = '';for (i=0; i < qtd; i++) for(t=0; t < 10; t++){ if(c.substring(i,i+1) == t && c.substring(i,i+1) != " ") v += c.substring(i,i+1);}return(v);}function getValue(nome){var obj = eval("document.forms[0]."+nome+".value");return obj;}function setValue(nome, valor){obj = eval("document.forms[0]."+nome);obj.value = valor;}</script></head><form action="<?php echo $editFormAction; ?>" method="POST" name="frmincfornecedor" id="frmincfornecedor"><td width="40%"><input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25" onChange="VerificaCPF(this.frmincfornecedor,'frmCnpjCpf','frmCnpjCpf')"></td></code> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Novembro 11, 2004 Denunciar Share Postado Novembro 11, 2004 <script Language = "JavaScript"> function VerificaCPF(nome) { var CPF = getValue(nome); if (CPF == '') { alert('Favor informar o CPF!'); return false;} CPF = Limp(CPF); total = CPF.length; for(t=0; t < 10; t++){ cont = 0; for(a=0; a < total; a++){ if(CPF.substring(a,a+1)==(t+'')){ cont++; if(cont == 11){alert('CPF inválido.'); return false;} } } } var POSICAO, I, SOMA, DV, DV_INFORMADO; var DIGITO = new Array(10); DV_INFORMADO = CPF.substr(9, 2); for (I=0; I<=8; I++) { DIGITO[I] = CPF.substr( I, 1); } POSICAO = 10; SOMA = 0; for (I=0; I<=8; I++) { SOMA = SOMA + DIGITO[I] * POSICAO; POSICAO = POSICAO - 1; } DIGITO[9] = SOMA % 11; if (DIGITO[9] < 2) { DIGITO[9] = 0; } else{ DIGITO[9] = 11 - DIGITO[9]; } POSICAO = 11; SOMA = 0; for (I=0; I<=9; I++) { SOMA = SOMA + DIGITO[I] * POSICAO; POSICAO = POSICAO - 1; } DIGITO[10] = SOMA % 11; if (DIGITO[10] < 2) { DIGITO[10] = 0; } else { DIGITO[10] = 11 - DIGITO[10]; } DV = DIGITO[9] * 10 + DIGITO[10]; if (DV != DV_INFORMADO) { alert('CPF inválido'); return false; } return true; } function FormataCPF(nome){ CPF = getValue(nome); CPF = Limp(CPF); if(CPF.length == 11){ value = Mascara(CPF, '999.999.999-99'); setValue(nome, value); } else { if(CPF.length > 0){ alert('Verifique o CPF digitado, pois estão faltando ou sobrando números.'); } } } function Limp(c){ qtd = c.length; var v = ''; for (i=0; i < qtd; i++) for(t=0; t < 10; t++){ if(c.substring(i,i+1) == t && c.substring(i,i+1) != " ") v += c.substring(i,i+1);} return(v); } function getValue(nome){ var obj = eval("document.forms[0]."+nome+".value"); return obj; } function setValue(nome, valor){ obj = eval("document.forms[0]."+nome); obj.value = valor; } function Mascara(value, mascara){ tmp = mascara; guarda = value; cont = 0; var caracter = new Array(); var position = new Array(); if(tmp.length > 0){ qtd = tmp.length; for(i=0; i < tmp.length; i++){ tmpValue = tmp.substring(i,i+1); if(tmpValue != 9){ caracter[cont] = tmpValue; position[cont] = i; cont++; } } VALOR = value; VALOR = Limp(VALOR); if(VALOR.length == 0){ VALOR = ''; } else { var value = ''; value += VALOR.substring(0,position[0])+caracter[0]; car = caracter.length; for(j=1; j < car; j++) value += VALOR.substring(position[j-1]-(j-1),position[j]-j)+caracter[j]; value += VALOR.substring(position[car-1]-(car-1), qtd); VALOR = value; } return value; } return guarda; } </script> </head> <form action="<?php echo $editFormAction; ?>" method="POST" name="frmincfornecedor" id="frmincfornecedor"> <input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25" onChange="VerificaCPF('frmCnpjCpf'); FormataCPF('frmCnpjCpf');"> </form>VerificaCPF('frmCnpjCpf'); ==> essa function só tem um parâmetro, não passe três como você tinha feito. AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 salvacao Postado Novembro 12, 2004 Autor Denunciar Share Postado Novembro 12, 2004 Crystian valeu deu certinho. Agora tenho um problema que o textfield do CPF também é do CNPJ, é o mesmo campo. Como posso fazer? você tme este mesmo código do CPF para o CNPJ?Outra coisinha a máscara deu belezinha, só que tenho que tirar a máscara na hora que eu apertar o botão para salvar na tabela. Como posso fazer isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Novembro 12, 2004 Denunciar Share Postado Novembro 12, 2004 Cara, junto com a função de mascarar e validar o cpf foram alguma funções q são necessárias para o funcionamento da mascaração e validação, e uma delas é a function Limp©. É só tu passar o valor do cpf q ela te limpa os pontos e barras. Outra coisa, procure no fórum pelo código de cnpj q você acha, e seria melhor você aprender um pouco de JS, já q você trabalha com o ambiente web, é muito importante. Tenta dar uma estudada e fazer teus próprios códigos, tu vai ver como é bom programar em JS.AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
salvacao
Galera peguei alguns códigos referente a máscara no fórum só que não está dando certo, será que podem me ajudar? Coloquei o meu código aí para vocês entenderem o que fiz. Quando eu digito o cpf no ‘text’ nada acontece.
Link para o comentário
Compartilhar em outros sites
5 respostass 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.