Mudanças entre as edições de "APLICAR CEP AUTOCOMPLETE"
Ir para navegação
Ir para pesquisar
(Criou página com 'Autocompletar o endereco automaticamente apos preenchimento do cep 1) Vá até <div style="background-color: #EEE;padding:1em"> vendor/experius/module-addresslines/view/fro...') |
|||
Linha 19: | Linha 19: | ||
document.getElementById('region_id').value=(""); | document.getElementById('region_id').value=(""); | ||
} | } | ||
function meu_callback(conteudo) { | function meu_callback(conteudo) { | ||
if (!("erro" in conteudo)) { | if (!("erro" in conteudo)) { | ||
Linha 35: | Linha 34: | ||
} | } | ||
} | } | ||
function converteUFemPadraoValueDoMagento(cep){ | function converteUFemPadraoValueDoMagento(cep){ | ||
switch(cep) { | switch(cep) { | ||
case 'AC': | case 'AC': | ||
Linha 122: | Linha 118: | ||
} | } | ||
} | } | ||
function pesquisaCep(valor) { | function pesquisaCep(valor) { | ||
//Nova variável "cep" somente com dígitos. | //Nova variável "cep" somente com dígitos. | ||
var cep = valor.replace(/\D/g, ''); | var cep = valor.replace(/\D/g, ''); | ||
//Verifica se campo cep possui valor informado. | //Verifica se campo cep possui valor informado. | ||
if (cep != "") { | if (cep != "") { | ||
//Expressão regular para validar o CEP. | //Expressão regular para validar o CEP. | ||
var validacep = /^[0-9]{8}$/; | var validacep = /^[0-9]{8}$/; | ||
//Valida o formato do CEP. | //Valida o formato do CEP. | ||
if(validacep.test(cep)) { | if(validacep.test(cep)) { | ||
//Preenche os campos com "..." enquanto consulta webservice. | //Preenche os campos com "..." enquanto consulta webservice. | ||
document.getElementById('street_1').value="..."; | document.getElementById('street_1').value="..."; | ||
Linha 142: | Linha 132: | ||
document.getElementById('city').value="..."; | document.getElementById('city').value="..."; | ||
document.getElementById('region_id').value="..."; | document.getElementById('region_id').value="..."; | ||
//Cria um elemento javascript. | //Cria um elemento javascript. | ||
var script = document.createElement('script'); | var script = document.createElement('script'); | ||
//Sincroniza com o callback. | //Sincroniza com o callback. | ||
script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback'; | script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback'; | ||
//Insere script no documento e carrega o conteúdo. | //Insere script no documento e carrega o conteúdo. | ||
document.body.appendChild(script); | document.body.appendChild(script); | ||
} //end if. | } //end if. | ||
else { | else { | ||
Linha 164: | Linha 150: | ||
} | } | ||
}; | }; | ||
document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento | document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento | ||
</script> | </script> | ||
Edição das 19h31min de 21 de fevereiro de 2018
Autocompletar o endereco automaticamente apos preenchimento do cep
1) Vá até
vendor/experius/module-addresslines/view/frontend/templates/expirius/customer/form/register.phtml
Coloque o código no final de todos os formulários e depois do javascript padrão.
<script type="text/javascript" > function limpaFormularioCep() { //Limpa valores do formulário de cep. document.getElementById('street_1').value=(""); document.getElementById('street_3').value=(""); document.getElementById('city').value=(""); document.getElementById('region_id').value=(""); } function meu_callback(conteudo) { if (!("erro" in conteudo)) { //Atualiza os campos com os valores. document.getElementById('street_1').value=(conteudo.logradouro); document.getElementById('street_3').value=(conteudo.bairro); document.getElementById('city').value=(conteudo.localidade); converteUFemPadraoValueDoMagento(conteudo.uf); //document.getElementById('region_id').value=(conteudo.uf); } //end if. else { //CEP não Encontrado. limpaFormularioCep(); alert("CEP não encontrado."); } } function converteUFemPadraoValueDoMagento(cep){ switch(cep) { case 'AC': document.getElementById('region_id').value='485'; break; case 'AL': document.getElementById('region_id').value='486'; break; case 'AP': document.getElementById('region_id').value='487'; break; case 'AM': document.getElementById('region_id').value='488'; break; case 'BA': document.getElementById('region_id').value='489'; break; case 'CE': document.getElementById('region_id').value='490'; break; case 'ES': document.getElementById('region_id').value='491'; break; case 'GO': document.getElementById('region_id').value='492'; break; case 'MA': document.getElementById('region_id').value='493'; break; case 'MT': document.getElementById('region_id').value='494'; break; case 'MS': document.getElementById('region_id').value='495'; break; case 'MG': document.getElementById('region_id').value='496'; break; case 'PA': document.getElementById('region_id').value='497'; break; case 'PB': document.getElementById('region_id').value='498'; break; case 'PR': document.getElementById('region_id').value='499'; break; case 'PE': document.getElementById('region_id').value='500'; break; case 'PI': document.getElementById('region_id').value='501'; break; case 'RJ': document.getElementById('region_id').value='502'; break; case 'RN': document.getElementById('region_id').value='503'; break; case 'RS': document.getElementById('region_id').value='504'; break; case 'RO': document.getElementById('region_id').value='505'; break; case 'RR': document.getElementById('region_id').value='506'; break; case 'SC': document.getElementById('region_id').value='507'; break; case 'SP': document.getElementById('region_id').value='508'; break; case 'SE': document.getElementById('region_id').value='509'; break; case 'TO': document.getElementById('region_id').value='510'; break; case 'DF': document.getElementById('region_id').value='511'; } } 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('street_1').value="..."; document.getElementById('street_3').value="..."; document.getElementById('city').value="..."; document.getElementById('region_id').value="..."; //Cria um elemento javascript. var script = document.createElement('script'); //Sincroniza com o callback. script.src = 'https://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. limpaFormularioCep(); alert("Formato de CEP inválido."); } } //end if. else { //cep sem valor, limpa formulário. limpaFormularioCep(); } }; document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento </script>
O CODIGO IRA AUTOCOMPLETAR AUTOMATICAMENTE APOS ESTA CONFIGURAÇÃO.
NÃO ESQUEÇA DE INDEXER:REINDEX CLEAN E FLUSH!!!!