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

Trabalhando Com Máscara


salvacao

Pergunta

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>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

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>

Link para o comentário
Compartilhar em outros sites

  • 0

<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ço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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ço

Crystian

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