Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando resolver um probleminha com um formulário de cadastro. Gostaria que ao cadastrar um novo usuário, os campos só fossem habilitados depois que o campo CPF fosse validado e consultado no banco, se não houvesse sido cadastrado, então habilitaria os outros campos. O código está funcionando, com validação e consulta, mais sempre que valida o CPF, já habilita os outros campos, mesmo que já tenha sido cadastrado no banco. São códigos encontrados na web,que estou tentando adaptar a um formulário.
<!DOCTYPE html>
<html>
<head>
<style>
#cpf{
padding-left:5px;
}
</style>
</head>
<body>
<script src="[https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js](https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js)"></script>
Cpf     <input type="text" id="cpf" maxlength="11" /><span style="color:blue" id="resposta"></span><span style="color:red" id='respostaCpf'></span><br><br>
Nome <input type="text" id="nome" disabled="disabled" /><br><br><br>
<script type="text/javascript">
/*!
* Gerador e Validador de CPF v1.0.0
* https://github.com/tiagoporto/gerador-validador-cpf
* Copyright (c) 2014-2015 Tiago Porto (http://www.tiagoporto.com)
* Released under the MIT license
*/
function CPF()
{
document.getElementById('cpf').focus();
"user_strict";
function r(r)
{
for(var t=null,n=0;9>n;++n)t+=r.toString().charAt(n)*(10-n);
var i=t%11;return i=2>i?0:11-i
}
function t(r)
{
for(var t=null,n=0;10>n;++n)t+=r.toString().charAt(n)*(11-n);
var i=t%11;
return i=2>i?0:11-i
}
/*var n=" CPF Inválido",i=" CPF Válido";*/
var n="",i=" CPF válido";
this.gera=function()
{
for(var n="",i=0;9>i;++i)n+=Math.floor(9*Math.random())+"";
/*var o=r(n),a=n+"-"+o+t(n+""+o);*/
var o=r(n),a=n+o+t(n+""+o);
return a
},
this.valida=function(o)
{
for(var a=o.replace(/\D/g,""),u=a.substring(0,9),f=a.substring(9,11),v=0;10>v;v++)
if(""+u+f==""+v+v+v+v+v+v+v+v+v+v+v)
return n;
var c=r(u),e=t(u+""+c);
return f.toString()===c.toString()+e.toString()?i:n
}
}
var CPF = new CPF();
//document.write(CPF.valida("123.456.789-00"));
//document.write("<br> Utilizando o proprio gerador da lib<br><br><br>");
for(var i =0;i<10;i++) {
var temp_cpf = CPF.gera();
document.write(temp_cpf+" = "+CPF.valida(temp_cpf)+"<br>");
}
$("#cpf").keyup(function(){
$("#resposta").html(CPF.valida($(this).val()));
if (CPF.valida($(this).val())==" CPF válido")
{
nome.disabled=false;
}else{
nome.disabled=true;
}
});
$("#cpf").blur(function(){
$("#resposta").html(CPF.valida($(this).val()));
if (CPF.valida($(this).val())==" CPF válido")
{
nome.disabled=false;
}else{
nome.disabled=true;
}
/*nome.disabled=false;*/
});
</script>
<script language="javascript">
var cpf = $("#cpf");
//email.keyup(function() {
cpf.keyup(function() {
$.ajax({
url: 'verificaCpf.php',
type: 'POST',
data:{"cpf" : cpf.val()},
success: function(data) {
console.log(data);
data = $.parseJSON(data);
$("#respostaCpf").text(data.cpf);
}
});
});
</script>
</body>
</html>
verificaCpf.php
<?php
#Verifica se tem um cpf para pesquisa
if((isset($_POST['cpf']))AND($_POST['cpf']<>' ')){
#Recebe o Cpf Postado
$cpfPostado = $_POST['cpf'];
#Conecta banco de dados
$con = mysqli_connect("localhost", "root", "", "cadastro");
$sql = mysqli_query($con, "SELECT * FROM cliente WHERE cpf = '{$cpfPostado}'") or print mysql_error();
#Se o retorno for maior do que zero, diz que já existe um.
if(mysqli_num_rows($sql)>0)
echo json_encode(array('cpf' => ' CPF já cadastrado'));
else
echo json_encode(array('cpf' => ''));
}
?>Carregando comentários...