Ir para conteúdo

Arquivado

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

DinhoPHP

PHP com Javascript

Recommended Posts

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:

 

http://imgur.com/Lo0YOp9

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu pretendia capturar o que fosse conter no campo cidade e dependendo da cidade exibir o DDD da mesma, via tomada de decisão ou consulta em banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu pretendia capturar o que fosse conter no campo cidade e dependendo da cidade exibir o DDD da mesma, via tomada de decisão ou consulta em banco de dados.

 

Acredito que seria mais fácil fazer com banco de dados, existem vários exemplos de com fazer, veja os ddd aqui depois dê uma olhada aqui acredito que ajude.

 

 

[]s

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.