PHP com Javascript
Olá! Tenho abaixo um código fonte que após digitar o CEP, insere automaticamente o Estado e a cidade, mas preciso que fique idêntico ao do OLX quando a pessoa vai inserir um anúncio, porém tenho dois problemas. O primeiro é como exibir os DDDs antes da cidade e o segundo é como exibir o nome da cidade lá embaixo (embora eu ache desnecessário mas o cliente quer assim). Ah! E além do input desejo usar o SELECT. Não sou muito bom em JavaScript e pesquisando vi que o PHP não faz isso.
Código:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Adicionando Javascript -->
<script type="text/javascript" >
function limpa_formulário_cep() {
//Limpa valores do formulário de cep.
document.getElementById('cidade').value=("");
document.getElementById('uf').value=("");
}
function meu_callback(conteudo) {if (!("erro" in conteudo)) {
//Atualiza os campos com os valores.
document.getElementById('cidade').value=(conteudo.localidade);
document.getElementById('uf').value=(conteudo.uf);} //end if.
else {
//CEP não Encontrado.
limpa_formulário_cep();
alert("CEP não encontrado.");
}
}
function pesquisacep(valor) {
//Nova variável "cep" somente com dígitos.
var cep = valor.replace(/\D/g, '');
//Verifica se campo cep possui valor informado.
if (cep != "") {
//Expressão regular para validar o CEP.
var validacep = /^[0-9]{8}$/;
//Valida o formato do CEP.
if(validacep.test(cep)) {
//Preenche os campos com "..." enquanto consulta webservice.
document.getElementById('cidade').value="...";
document.getElementById('uf').value="...";
//Cria um elemento javascript.
var script = document.createElement('script');
//Sincroniza com o callback.
script.src = '//viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
//Insere script no documento e carrega o conteúdo.
document.body.appendChild(script);
} //end if.
else {
//cep é inválido.
limpa_formulário_cep();
alert("Formato de CEP inválido.");
}} //end if.
else {
//cep sem valor, limpa formulário.
limpa_formulário_cep();
}
};
</script>
<script type="text/javascript" src="jquery/jquery_moedabr.js" ></script>
<script type="text/javascript" src="jquery/jquery.maskMoney.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("input.dinheiro").maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});
});
</script>
</head>
<body><!-- Inicio do formulario -->
<form method="get" action=".">
<table id="campos">
<tr><td>
<label>Preço:</td><td>
<input type="text" name="preco" class="dinheiro"/>
</label>
</td></tr>
<tr><td>
<label>Cep:</td><td><input name="cep" type="text" id="cep" value="" size="10" maxlength="9"
onblur="pesquisacep(this.value);" /></label><br /></td></tr>
<tr><td><label>Cidade:</td><td>
<input name="cidade" type="text" id="cidade" size="30" disabled="disabled" /></label></td></tr>
<tr><td>
<label>Estado:</td><td>
<input name="uf" type="text" id="uf" size="2" disabled="disabled" /></label></td></tr>
</table>
</form>
<?php
$municipio = isset($_GET['cidade'])?$_GET['cidade']:'';
echo "Município: ".$municipio;
?>
</body>
</html>Como é para ficar:
Discussão (4)
Carregando comentários...