estevam
(usa Ubuntu)
Enviado em 19/04/2011 - 09:22h
Olá tudo bem, eu utilizo uma busca de CEP só que não é pelo correio é um outro site é uma pesquisa em ajax.
São 2 paginas que voce vai utilizar
validaCep.php
<?
//////////////////////////////////////
// ESTEVAM MENDES
// ESTEVAM@LEVITRON.COM.BR
// 22/03/2010
//////////////////////////////////////
$cep = $_GET['cep'];
function busca_cep($cep)
{
include_once('bibliotecas/HttpClient.class.php');
$resultado = HttpClient::quickGet('http://republicavirtual.com.br/web_cep.php?cep='.$cep.'&formato=query_string');
if(!$resultado){
$resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep";
}
parse_str($resultado, $retorno);
return $retorno;
}
//Vamos buscar o CEP
$resultado_busca = busca_cep($cep);
switch($resultado_busca['resultado'])
{
case '2': //cidades com cep unico
$texto = "::".str_replace(" ", "+", $resultado_busca['cidade']).":".$resultado_busca['uf'].";";
break;
case '1': //cidades normais
$texto = $resultado_busca['tipo_logradouro']."+".$resultado_busca['logradouro'].":".$resultado_busca['bairro'].":".str_replace(" ", "+", $resultado_busca['cidade']).":".$resultado_busca['uf'].";";
break;
}
print utf8_encode($texto);
?>
e a validaCep.js
function buscarEndereco()
{
id('load').style.display = '';
var cep = id('cep0').value+id('cep1').value;
url = 'validaCep.php?cep='+cep;
req = null;
// Procura por um objeto nativo (Mozilla/Safari)
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange1;
req.open("GET",url,true);
req.send(null);
// Procura por uma versão ActiveX (IE)
}
else if (window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange = processReqChange1;
req.open("GET",url,true);
req.send();
}
}
}
function processReqChange1()
{
// apenas quando o estado for "completado"
if (req.readyState == 4)
{
// apenas se o servidor retornar "OK"
if (req.status ==200)
{
//alert('1');
var string = req.responseText;
if(string == '')
{
alert('Erro ao buscar cep. Por favor preencha o endereço completo.');
id('endereco').focus();
}else{
var expString = string.split(":");
var endereco = expString[0];
var endereco = endereco.replace("+"," ");
id('endereco').value = endereco;
var bairro = expString[1];
id('bairro').value = bairro;
var cidade = expString[2];
var cidade = cidade.replace("+"," ");
id('cidade').value = cidade;
var estado = expString[3];
var estado = estado.replace(";"," ");
id('estado').value = estado;
}
id('load').style.display = 'none';
}
else
{
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}
e no seu input vc coloca assim
<input type="text" name="cep" id="cep" onblur="buscarEndereco();" />