sorocabaunderground Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 eu tenho um script para validar CPFesta tudo funcionando + eu não quero ter que atualizar a pagina novamente para ele verificar se o CPF é Validoqueria que ele verificase logo apos o cara preencher o campo de CPFaí se for invalido aparece um * na frente do campo =)meu codigo<?//VERIFICA SE O FORMULÁRIO FOI ENVIADOif($_POST["verOK"]) { //RECEBE OS DADOS DO FORMULÁRIO $cpf = $_POST["cpf"]; //VERIFICA SE O QUE FOI INFORMADO É NÚMERO if(!is_numeric($cpf)) { $status = false; } else { //VERIFICA if( ($cpf == '11111111111') || ($cpf == '22222222222') || ($cpf == '33333333333') || ($cpf == '44444444444') || ($cpf == '55555555555') || ($cpf == '66666666666') || ($cpf == '77777777777') || ($cpf == '88888888888') || ($cpf == '99999999999') || ($cpf == '00000000000') ) { $status = false; } else { //PEGA O DIGITO VERIFIACADOR $dv_informado = substr($cpf, 9,2); for($i=0; $i<=8; $i++) { $digito[$i] = substr($cpf, $i,1); } //CALCULA O VALOR DO 10º DIGITO DE VERIFICAÇÂO $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]; } //CALCULA O VALOR DO 11º DIGITO DE VERIFICAÇÃO $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]; } //VERIFICA SE O DV CALCULADO É IGUAL AO INFORMADO $dv = $digito[9] * 10 + $digito[10]; if ($dv != $dv_informado) { $status = false; } else $status = true; }//FECHA ELSE}//FECHA ELSE(is_numeric)}//FECHA IF($_POST)?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renyo Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 olha cara... se pode colocar assim do lado do campo quando ele for igual...<script>document.write ("*");</script>tenta isso cara..se não der certo se fala...echo "<script>document.write ("*");</script>" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sorocabaunderground Postado Junho 14, 2006 Autor Denunciar Share Postado Junho 14, 2006 essa parte do * tudo bem + esse codigo eu so consigo fazer ele rodar se eu "rodar" o meu formulario+ eu ainda não quero enviar eleeu quero tipoo cara digita o CPF e vai preencher outro campo do formularioaí se o CPF for invalido ele avisa =P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::frenetico:: Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Pelo que entendi você quer um exemplo que nem o forum, tipo quando você se cadastra no forum você coloca o seu email, dai no lado do campo aparece um acerto da cor verde, se o email não estiver igual da uma certo com a cor vermelha... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 thejesus Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Faça isso:<input type=text name=CPF onBlur="this.form.submit()"> Acho que é isso que você precisa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jose.rob.jr Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Faça isso:<input type=text name=CPF onBlur="this.form.submit()"> Acho que é isso que você precisa.Assim vai enviar o formulário sempre que tirar o fóco do campo. E naõ vai dar muito certo :)Eu colocaria um iframe oculto, e faria abrir uma página para testar se o cpf é válido ou não, e quando modificasse o campo, fazer abrir a página de teste com o valor do campo CPF na query, e depois de avaliar, se não for válido o iframe escreveria numa tag <span> antes do campo o * e faria uma váriavel CPF_teste (por exemplo) com valor false. E se for válido, faria a variavel com o valor true.E no onsubmit do formulário, faria testar todos os campos com JS, e se a variavel CPF_teste for true, então significa que está certo não? Senão ele, a página se focaliza no campo CPF, e alertaria que o CPF é inválido.Entendeu? :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jose.rob.jr Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 olha um exemplo do que eu estou falando:<?php $acao=$_GET['acao']; if($acao=="enviar"){ echo "Enviado com sucesso"; exit; } elseif($acao=="cpf"){ $CPF=$_GET['cpf']; if($CPF=="123.123"){ ?> <script> <!-- window.top.CPF_span.innerHTML=""; window.top.CPF_teste=true; //--> </script> <?php exit; } else{ ?> <script> <!-- window.top.CPF_span.innerHTML="<font color=\"#FF0000\"><b>*</b></font>"; window.top.CPF_teste=false; //--> </script> <?php exit; } } else{ ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> <script> <!-- var CPF_teste; //--> </script> </head> <body> <iframe id="iframe_invisivel" name="iframe_invisivel" style="display: none;"></iframe> <form name="exemplo" action="<?php echo $PHP_SELF; ?>?acao=enviar" method="POST" onsubmit="if(!CPF_teste){exemplo.CPF.focus();alert('CPF inválido!'); return false;}else{return true;}"> CPF: <span id="CPF_span"></span> <input type="text" name="CPF" onchange="window.open('<?php echo $PHP_SELF; ?>?acao=cpf&cpf='+escape(this.value),'iframe_invisivel');"><br> <input type="submit" value="Enviar"> </form> </body> </html> <? }?>PS: como eu não sei validar cpf, no exemplo, só aceita como cpf 123.123 :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tenko Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Mano, é bem mais fácil fazer usando JavaScriptPara colocar a mensagem do lado você usaria <span id="validaCPF"></span> Depois usaria o document.getElementById("validaCPF") e mais umas coisas para aparecer a mensagem, mas esse é o modo como eu faço.Vai de você Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::frenetico:: Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Usa Expressão Regular pra validar o cpf ^^[]''sUm script com ER:http://forum.wmonline.com.br/index.php?showtopic=150115:P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tenko Postado Junho 14, 2006 Denunciar Share Postado Junho 14, 2006 Dá uma olhada<html> <head> <title></title> <script> function teste( valor ){ var bloco = document.getElementById( "valida" ); if( valor == "" ){ bloco.innerHTML = "Erro encontrado"; document.t.nome.focus(); }else{ bloco.innerHTML = "Dados Ok"; } } </script> </head> <body> <form name="t"> <input type="text" name="nome" onBlur="java script:teste( this.value );"> <span id="valida"></span> </form> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
sorocabaunderground
eu tenho um script para validar CPF
esta tudo funcionando + eu não quero ter que atualizar a pagina novamente para ele verificar se o CPF é Valido
queria que ele verificase logo apos o cara preencher o campo de CPF
aí se for invalido aparece um * na frente do campo =)
meu codigo
Link para o comentário
Compartilhar em outros sites
9 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.