Skip to content

Instantly share code, notes, and snippets.

@thomasgroch
Last active July 31, 2018 19:21
Show Gist options
  • Save thomasgroch/0f2182e20d025d031ad9b7ec9b34e38a to your computer and use it in GitHub Desktop.
Save thomasgroch/0f2182e20d025d031ad9b7ec9b34e38a to your computer and use it in GitHub Desktop.
CEPtástico - Generic Auto Fill Brazilian Zipcode
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Generic Auto Fill Brazilian Zipcode</title>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function() {
var zip_code = 'cep';
var street = 'rua';
var state = 'bairro';
var city = 'cidade';
var uf = 'estado';
$("input[name='"+ zip_code +"']").blur(function() {
if ($.trim( $("input[name='"+ zip_code +"']").val() ).length < 8) {
return false;
}
$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep=" + $("input[name='"+ zip_code +"']").val(), function() {
// Se o resultado for igual a 1
if ( resultadoCEP["resultado"] ) {
// Troca o valor dos elementos
addr = unescape( resultadoCEP["tipo_logradouro"] ) + " " + unescape( resultadoCEP["logradouro"] );
uf_value = unescape(resultadoCEP["uf"]).toUpperCase();
$("input[name='"+ city +"']") .val( unescape(resultadoCEP["cidade"]) );
$("input[name='"+ street +"']") .val( addr );
$("input[name='"+ state +"']") .val( unescape(resultadoCEP["bairro"]) );
$("input[name='"+ uf +"']") .val( uf_value );
$("select[name='"+ uf +"'] option[value="+ uf_value +"]") .attr('selected', 'selected');
}
});
});
});
</script>
</head>
<body>
<h2>Informações de Correspondência</h2>
<div class="control-group">
<label class="control-label" for="focusedInput">CEP</label>
<div class="controls">
<input type="text" name="cep" value="" class="control-label" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Rua</label>
<div class="controls">
<input type="text" name="rua" value="" class="control-label" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Número/Apto/Bloco</label>
<div class="controls">
<input type="text" name="numero" value="" class="control-label" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Bairro</label>
<div class="controls">
<input type="text" name="bairro" value="" class="control-label" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Cidade</label>
<div class="controls">
<input type="text" name="cidade" value="" class="control-label" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Estado</label>
<div class="controls">
<input type="text" name="estado" value="" class="control-label" />
<!-- <?php echo form_dropdown('estado', $estados_list, $this->element->estado, 'id="selectError" data-rel="' . $this->element->estado . '"'); ?> -->
<select name="estado" id="uf">
<option value="">Selecione</option>
<option value="AC">AC</option>
<option value="AL">AL</option>
<option value="AM">AM</option>
<option value="AP">AP</option>
<option value="BA">BA</option>
<option value="CE">CE</option>
<option value="DF">DF</option>
<option value="ES">ES</option>
<option value="GO">GO</option>
<option value="MA">MA</option>
<option value="MG">MG</option>
<option value="MS">MS</option>
<option value="MT">MT</option>
<option value="PA">PA</option>
<option value="PB">PB</option>
<option value="PE">PE</option>
<option value="PI">PI</option>
<option value="PR">PR</option>
<option value="RJ">RJ</option>
<option value="RN">RN</option>
<option value="RS">RS</option>
<option value="RO">RO</option>
<option value="RR">RR</option>
<option value="SC">SC</option>
<option value="SE">SE</option>
<option value="SP">SP</option>
<option value="TO">TO</option>
</select>
</div>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment