Ir para conteúdo

POWERED BY:

Arquivado

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

LuX_

Encontrar endereço pelo CEP

Recommended Posts

Olá Pessoal, a dúvida é simples. Gostaria de saber como fazer isso.

Sei que existe componentes, mas não consigo encontrar nenhum.

A Locaweb tem um componente, mas eu teria que hospedar o site lá pra poder usar né? E não é isso que eu queria.

 

Precisava que alguém, por gentileza, me indicasse algum site para baixar algum complemento, dll ou algo que me permita encontrar os endereços pelo CEP.

 

Obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem varios tópicos sobre este assunto , até mesmo fornecendo o BD de CEP ja atualizado,

caso naun encontre o arquivo de banco de dados, me mande um email k te passo,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Jonathan.

 

Foi quase! Mas não funcionou!

 

dá esse erro:

 

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: 'objXmlDoc.selectSingleNode(...)'

/projeto/lay/validacep.asp, line 13

 

 

Eu simplesmente copiei o código da página que você me passou e acessei assim: validacep.asp?cep=02069030

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que alterar essa linha de acordo com a configuração do seu PC.

Set objXmlDoc = Server.CreateObject("MSXML2.DOMDocument.3.0")'("MSXML2.DOMDocument") ("Microsoft.XMLDOM")

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo:

 

Basicamente,após digitar o cep, é so voce clica em qualquer lugar da pagina que ele preenche os demais campos automatico(endereço, bairro, cidade e estado).

 

Este aqui so será preciso caso voce tenha um site na locaweb e deseje usar o seu dominio para fazer.

 

busca_cep2.asp

<%
Response.Charset="ISO-8859-1" 

Set CEP_obj = CreateObject("Correios.CEP") 
CEP_obj.EncontraCEP(Trim(Request("CEP"))) 

If CEP_obj.Erro = 0 Then 
endereco = CEP_obj.Endereco 
bairro = CEP_obj.Bairro 
cidade = CEP_obj.Cidade 
estado = CEP_obj.Estado 
cep = CEP_obj.CEP

response.write endereco&","&bairro&","&cidade&","&estado&","

Else 
erro_descricao = CEP_obj.DescricaoErro
End If 
Set CEP_obj = Nothing
%>

 

leitor.asp

<%Response.Charset="ISO-8859-1" 
' Script ASP para requisição de dados de CEP de uma página pré-configurada.
' caso você use um site na locaweb, crie o arquivo de cima e altere o endereço abaixo para a página correta!
'senao, deixa como está.
url = "http://www.silo.com.br/busca_cep.asp?cep="& Replace(Request("CEP"),"'","''")


' Criando Objeto XML
Set objXML = Server.CreateObject("MSXML2.XMLHTTP")
' Enviando o pedido dos dados
objXML.open "GET",url,false
ObjXML.Send()

	Response.Write objXML.responseText

Set objXML = Nothing
%>

formulario.asp

<script type="text/javascript">
function verifica(event){
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
var caract = new RegExp(/[0-9]+$/i);
var caract = caract.test(String.fromCharCode(keyCode));

if(!caract){
//alert("Caracter inválido: " +String.fromCharCode(keyCode));
keyCode=0;
return false;
}
}
</script>
<script type="text/javascript">

function addEvent(obj, evt, func) {
  if (obj.attachEvent) {
	return obj.attachEvent(("on"+evt), func);
  } else if (obj.addEventListener) {
	obj.addEventListener(evt, func, true);
	return true;
  }
  return false;
}


function XMLHTTPRequest() {
  try {
	return new XMLHttpRequest(); // FF, Safari, Konqueror, Opera, ...
  } catch(ee) {
	try {
	  return new ActiveXObject("Msxml2.XMLHTTP"); // activeX (IE5.5+/MSXML2+)
	} catch(e) {
	  try {
		return new ActiveXObject("Microsoft.XMLHTTP"); // activeX (IE5+/MSXML1)
	  } catch(E) {
		return false; // doesn't support
	  }
	}
  }
}

function buscarEndereco() {
  var campos = {
	cep: document.getElementById("cep"),
	logradouro: document.getElementById("logradouro"),
	//numero: document.getElementById("numero"),
	bairro: document.getElementById("bairro"),
	localidade: document.getElementById("localidade"),
	uf: document.getElementById("uf")
  };
  var ajax = XMLHTTPRequest();
  ajax.open("GET", ("leitor.asp?cep=" + campos.cep.value.replace(/[^\d]*/, "")), true);
  ajax.onreadystatechange = function() {
	if (ajax.readyState == 1) {
	  campos.logradouro.disabled = true;
	  campos.bairro.disabled = true;
	  campos.localidade.disabled = true;
	  campos.uf.disabled = true;
	  campos.logradouro.value = "carregando...";
	  campos.bairro.value = "carregando...";
	  campos.localidade.value = "carregando...";
	  //campos.uf.value = "carregando...";
	} else if (ajax.readyState == 4) {
	  var r = ajax.responseText, i, logradouro, bairro, localidade, uf;
	  logradouro = r.substring(0, (i = r.indexOf(',')));
	  r = r.substring(++i);
	  bairro = r.substring(0, (i = r.indexOf(',')));
	  r = r.substring(++i);
	  localidade = r.substring(0, (i = r.indexOf(',')));
	  r = r.substring(++i);
	  uf = r.substring(0, (i = r.indexOf(',')));
	  //r = r.substring(++i);
	  campos.logradouro.disabled = false;
	  campos.bairro.disabled = false;
	  campos.localidade.disabled = false;
	  campos.uf.disabled = false;
	  campos.logradouro.value = logradouro;
	  campos.bairro.value = bairro;
	  campos.localidade.value = localidade;
	  //campos.uf.value = uf;
	  
	  i = campos.uf.options.length;
	  while (i--) {
	   if (campos.uf.options[i].getAttribute("value") == uf) {
		  break;
		}
	  }
	  campos.uf.selectedIndex = i;
	}
  };
  ajax.send(null);
}


window.addEvent(
  window,
  "load",
  function() {window.addEvent(document.getElementById("cep"), "blur", buscarEndereco);}
);

	</script>
	
	<form name="form" id="form" action="#" method="post">
	<table width="253" border="0">
	  <tr>
		<td colspan="2"><strong>
		  <label for="cep">CEP Residencial: <br>
		  </label>
		  
		<input name="cep" type="text" id="cep" onKeypress="return verifica(event);" maxlength="8" />
		</strong></td>
	  </tr>
	  <tr>
		<td width="154"><strong>
		  <label for="logradouro">Endereço:</label>
		  <br>
		  <input name="logradouro" type="text" class="campo3" id="logradouro" />
		</strong></td>
		<td width="89"><strong>
		  <label for="numero" class="numero">Numero:<br>
		  </label>
		  <input name="numero" type="text" id="numero" size="7" />
		</strong></td>
	  </tr>
	  <tr>
		<td colspan="2"><strong>
		  <label for="bairro">Bairro:</label>
		  <br>
		  <input name="bairro" type="text" id="bairro" />
		</strong></td>
	  </tr>
	  <tr>
		<td colspan="2"><strong>
		  <label for="localidade">Cidade:</label>
		  <br>
		  <input name="localidade" type="text" id="localidade" />
		</strong></td>
	  </tr>
	  <tr>
		<td colspan="2"><strong>
		  <label for="uf" class="uf">Estado:</label>
		  <br>
		 <select name="select2" id="uf">
			<option value="">-- selecione --</option>
			<option value="AC">Acre</option>
			<option value="AL">Alagoas</option>
			<option value="AP">Amapá</option>
			<option value="AM">Amazonas</option>
			<option value="BA">Bahia</option>
			<option value="CE">Ceará</option>
			<option value="DF">Distrito Federal</option>
			<option value="ES">Espírito Santo</option>
			<option value="GO">Goiás</option>
			<option value="MA">Maranhão</option>
			<option value="MT">Mato Grosso</option>
			<option value="MS">Mato Grosso do Sul</option>
			<option value="MG">Minas Gerais</option>
			<option value="PA">Pará</option>
			<option value="PB">Paraíba</option>
			<option value="PR">Paraná</option>
			<option value="PE">Pernambuco</option>
			<option value="PI">Piauí</option>
			<option value="RJ">Rio de Janeiro</option>
			<option value="RN">Rio Grande do Norte</option>
			<option value="RS">Rio Grande do Sul</option>
			<option value="RO">Rondônia</option>
			<option value="RR">Roraima</option>
			<option value="SC">Santa Catarina</option>
			<option value="SP">São Paulo</option>
			<option value="SE">Sergipe</option>
			<option value="TO">Tocantins</option>
		  </select>

		</strong></td>
	  </tr>
	</table>
  </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere o XML para o da República virtual e veja como está a estrutura dele

Compartilhar este post


Link para o post
Compartilhar em outros sites


<script type="text/javascript">

<!--

// Função única que fará a transação

function getEndereco() {

// Se o campo CEP não estiver vazio

if($.trim($("#cep").val()) != ""){

/*

Para conectar no serviço e executar o json, precisamos usar a função

getScript do jQuery, o getScript e o dataType:"jsonp" conseguem fazer o cross-domain, os outros

dataTypes não possibilitam esta interação entre domínios diferentes

Estou chamando a url do serviço passando o parâmetro "formato=javascript" e o CEP digitado no formulário

http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val()

*/

$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){

// o getScript dá um eval no script, então é só ler!

//Se o resultado for igual a 1

if(resultadoCEP["resultado"]){

// troca o valor dos elementos

$("#logradouro").val(unescape(resultadoCEP["tipo_logradouro"])+" "+unescape(resultadoCEP["logradouro"]));

$("#bairro").val(unescape(resultadoCEP["bairro"]));

$("#cidade").val(unescape(resultadoCEP["cidade"]));

$("#uf").val(unescape(resultadoCEP["uf"]));

}else{

alert("Endereço não encontrado");

}

});

}

}

//-->

</script>

<input name="cep" id="cep" type="text" size="10" maxlength="9" onchange="getEndereco()">

<input name="logradouro" id="logradouro" type="text">

<input name="bairro" id="bairro" type="text">

<input name="cidade" id="cidade" type="text">

<input name="uf" id="uf" type="text">

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal por favor estou utilizando o codigo do que o xanburzum passou

buscacep2.asp, formulario.asp e leitor.asp.

mas preciso fazer esse codigo trabalhar trocando as seguintes strings estou muito enferrujado no asp quem puder me ajudar agradeço.

 

ao inves de

logradouro=endentrega

bairro=bairroentrega

localidade=cidadeentrega

uf=estadoentrega

numero=numeroentrega

cep=cepentrega

 

preciso que seja alterado nas três paginas para que rode na maciota o codigo...quem puder ajudar realmente agradeço de coração pq vai ta quebrando um puta galhao

Compartilhar este post


Link para o post
Compartilhar em outros sites

terás que mudar o XML

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.