Confirmação de Dados - Captcha
Gente eu estou precisando de um sistema de confirmação de dados usando ajax e depois um código captcha.
Tipo
Tem o campo CPF, email, etc... Aí depois que todos os campos estiverem todos confirmados apareça o código captcha para digitar, ou faça com que apareça, não sei...
um código que esteja integrado o captcha e que só colocasse quando todos os campos estiverem ok.
Eu pesquisei no google, e achei um. O melhor que foi.
Olha o código ae:
Index.html
<html>
<head>
<title>Validação de campos com AJAX</title>
<script type="text/javascript" src="ajax/funcs.js"></script>
</head>
<body>
Login: <br /> <input type="text" id="login" onblur="validarDados('login', document.getElementById('login').value);" />
<div id="campo_login"> </div> <br />
Email: <br /> <input type="text" id="email" onblur="validarDados('email', document.getElementById('email').value);" />
<div id="campo_email"> </div> <br />
CPF: <br /> <input type="text" id="cpf" onblur="validarDados('cpf', document.getElementById('cpf').value);" />
<div id="campo_cpf"> </div> <br />
</body>
</html>
ajax/funcs.js
// Variável que receberá o objeto XMLHttpRequest
var req;
function validarDados(campo, valor) {
// Verificar o Browser
// Firefox, Google Chrome, Safari e outros
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
}// Internet Explorer
else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
// Aqui vai o valor e o nome do campo que pediu a requisição.
var url = "ajax/validacao.php?campo="+campo+"&valor="+valor;
// Chamada do método open para processar a requisição
req.open("Get", url, true);
// Quando o objeto recebe o retorno, chamamos a seguinte função;
req.onreadystatechange = function() {
// Exibe a mensagem "Verificando" enquanto carrega
if(req.readyState == 1) {
document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
}
// Verifica se o Ajax realizou todas as operações corretamente (essencial)
if(req.readyState == 4 && req.status == 200) {
// Resposta retornada pelo validacao.php
var resposta = req.responseText;
// Abaixo colocamos a resposta na div do campo que fez a requisição
document.getElementById('campo_'+ campo +'').innerHTML = resposta;
}
}
req.send(null);
}
ajax/validacao.php
<?php
// Campo que fez requisição
$campo = $_GET['campo'];
// Valor do campo que fez requisição
$valor = $_GET['valor'];
// Verificando o campo login
if ($campo == "login") {
if ($valor == "") {
echo "Preencha o campo com seu login";
} elseif (strlen($valor) > 28) {
echo "O login deve ter no máximo 28 caracteres";
} elseif (strlen($valor) < 4) {
echo "O login deve ter no minímo 4 caracteres";
} elseif (!preg_match('/^[a-z\d_]{4,28}$/i', $valor)) {
echo "O login deve conter somente letras e numeros.";
}
}
// Verificando o campo email
if ($campo == "email") {
if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $valor)) {
echo "Preencha com um email válido"; //
}
}
// Verificando o campo CPF
if ($campo == "cpf") {
if (!eregi("^([0-9]){3}.([0-9]){3}.([0-9]){3}-([0-9]){2}$", $valor)) {
echo "Digite um CPF válido";
}
}
// Acentuação
header("Content-Type: text/html; charset=ISO-8859-1",true);
?>
Fonte: http://faael.net/validacao-de-campos-sem-refresh-com-ajax/
Discussão (5)
Carregando comentários...