Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asanoli

Como chamar essa função?!!!

Recommended Posts

Olá!

 

Tenho essa função de validação de CNPJ e gostaria chamá-la ao sair do campo (onblur) só que já tentei de diversas maneiras e não consigo... Alguém aê pode ajudar???

 

function validaCNPJ() {				CNPJ = document.getElementById("CNPJID").value;				erro = new String;				 if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";				 if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){				 if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";				 }				 //substituir os caracteres que não são números			   if(document.layers && parseInt(navigator.appVersion) == 4){					   x = CNPJ.substring(0,2);					   x += CNPJ. substring (3,6);					   x += CNPJ. substring (7,10);					   x += CNPJ. substring (11,15);					   x += CNPJ. substring (16,18);					   CNPJ = x;			   } else {					   CNPJ = CNPJ. replace (".","");					   CNPJ = CNPJ. replace (".","");					   CNPJ = CNPJ. replace ("-","");					   CNPJ = CNPJ. replace ("/","");			   }			  var nonNumbers = /\D/;			   if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";			   var a = [];			   var b = new Number;			   var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];			   for (i=0; i<12; i++){					   a[i] = CNPJ.charAt(i);					   b += a[i] * c[i+1]; }			   if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }			   b = 0;			   for (y=0; y<13; y++) {					   b += (a[y] * c[y]);			   }			   if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }			   if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){					   erro +="Dígito verificador com problema!";			   }			   if (erro.length > 0){					   alert(erro);					  return false;			   } 			   return true; 	   }		   //00.509.018/0015-19 numero valido de cnpj

linha do formulário que já chama uma função de máscara:

 

<td> CNPJ: <td> <input type='text' size='30' name='cnpj' id='CNPJID' maxlength='18' onKeyPress='FormataCNPJ(this, event)'> </td>

Desde já agradeço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

ham, eu naum entendi algumas coisas:pq você tá tentando com onKeyPress?pq você passa this, se sua variável (CNPJ) está pegando o valor pra você?tenta altera essa parte se msm assim naum der avisa q eu tento destrincha o cod, beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não manjo de javascript, mas a logica não seria essa?

 

 

 

<td> CNPJ: <td> <input type='text' size='30' name='cnpj' id='CNPJID' maxlength='18' onBlur="java script:validaCNPJ();"> </td>

 

 

apenas um palpite

Compartilhar este post


Link para o post
Compartilhar em outros sites

em eventos (onblur, onclick, onmouseover)... você nao deve usar java script:;usa direto o nome da funcao, pq ele ja vai pra javascript automaticamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ser mais claro... A linha do CNPJ tem dois tratamentos, formatação e validação! A formatação tá funcionando (onKeyPress). Gostaria de saber se posso usar o comando onblur para chamar a função de validação que é essa que tá lá em cima. Se tiver puder, como é que faz???

 

td> CNPJ: <td> <input type='text' size='30' name='cnpj' id='CNPJID' maxlength='18' onKeyPress='FormataCNPJ(this, event)'> </td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<td> CNPJ: <td> <input type='text' size='30' name='cnpj' id='CNPJID' maxlength='18' onKeyPress='FormataCNPJ(this, event)' onBlur='validaCNPJ();'> </td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou! Tem como não deixar passar para o próximo campo enquanto o usuário nao colocar um CNPJ válido??? Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, tem sim, é só você tratar qdo dar erro d validação!assim:form.campo.focus();beleza?

Muito obrigado!!! Saberia indicar algum material que eu possa ler pra aprender pelo menos a fazer funcionar essas funçoes que a gente encontra pronta por aqui??? Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa tamo aki pra ajudar!

http://forum.imasters.com.br/index.php?showtopic=164254

só q é mto extenso o conteudo, eu recomento q leia, ms o + importante, é qdo achar um script pronto, tentar entender seu conteudo, linha por linha, assim você vai ganhado experiencia e o "jeito da coisa", certo?hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa tamo aki pra ajudar!http://forum.imasters.com.br/index.php?showtopic=164254só q é mto extenso o conteudo, eu recomento q leia, ms o + importante, é qdo achar um script pronto, tentar entender seu conteudo, linha por linha, assim você vai ganhado experiencia e o "jeito da coisa", certo?hehehehe

Já dei uma olhada por alto... Muito bom! Vou parar pra ver com calma. Valeu mesmo... Muito obrigado!!! Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.