Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Pereira

Web service CEP

Recommended Posts

Galera... peguei esse codigo pronto do site http://www.viavirtual.com.br

ele serve para autocompletar campos com endereço de Cep.

 

Só que só funciona no IE tem alguma coisa que poderia trocar para funcionar no FireFox tb??

 

 

//------------------------------------------------------------------------
// Web Service CEP, desenvolvido por Evanil Rosano de Paula.
// Este Web Service está habilitado para funcionar em qualquer servidor, 
// no entanto terá melhor desempenho em sites hospedados pela Via Virtual.
// Visite nosso site e conheça nossos serviços.
// Via Virtual - Solucões WEB
// http://www.viavirtual.com.br
//-------------------------------------------------------------------------

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	  try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
		xmlhttp = false;
		}
	  }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	try {
	  xmlhttp = new XMLHttpRequest();
	  } catch (e) {
	  xmlhttp = false;
	  }
	}
  return xmlhttp;
  }
var http = getHTTPObject();

function funcaowebservicecep() 
{
	http.open("GET", 'buscarendereco.php?cep='+document.getElementById("cep").value, true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null);

	var arr; //array com os dados retornados
	function handleHttpResponse() 
	{
		if (http.readyState == 4) 
		{
			var response = http.responseText;
			eval("var arr = "+response); //cria objeto com o resultado
			document.getElementById("end").value = arr.rua;
			document.getElementById("bairro").value = arr.bairro;
			document.getElementById("cidade").value = arr.cidade;
			document.getElementById("uf").value = arr.uf;
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em jquery:

 

<html>
<head>
<title>Exemplo busca CEP Ajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<!-- Faça o include da lib do jQuery -->
<script type="text/javascript" src="jquery.js"></script>
<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
						$("#rua").val(unescape(resultadoCEP["tipo_logradouro"])+": "+unescape(resultadoCEP["logradouro"]));
						$("#bairro").val(unescape(resultadoCEP["bairro"]));
						$("#cidade").val(unescape(resultadoCEP["cidade"]));
						$("#estado").val(unescape(resultadoCEP["uf"]));
					}else{
						alert("Endereço não encontrado");
					}
				});				
			}			
	}
</script>

</head>

<body>


<!-- 
	O formulário é simples, a única coisa diferente é o atributo "onBlur" no campo "cep" 
	o onBlur executa um comando javascript assim que o campo perde o fóco, neste caso eu chamo a função javascript "getEndereco()"
 -->
<form>
  <fieldset>
  <legend>Formulário de exemplo</legend>
  <label for="cep">CEP:</label>
  <input name="cep" id="cep" size="9" maxlength="8" onBlur="getEndereco()"/>
  <br />
  <label for="rua">Logadouro:</label>
  <input name="rua" id="rua" size="50"/>
  <br/>
  <label for="bairro">Bairro:</label>
  <input name="bairro" id="bairro" size="30"/>
  <br/>
  <label for="cidade">Cidade:</label>
  <input name="cidade" id="cidade"/>
  <br/>
  <label for="estado">Estado</label>
  <input name="estado" id="estado" size="2" maxlength="2"/>
  <br/>
  <input type="button" value="Ok" class="button">
  </fieldset>
</form>
</body>
</html>

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.