Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos,
estou tendo um problema um pouco estranho e como não sou muito 'expert' no assunto, não estou conseguindo resolve-lo.
O problema é o seguinte:
Tenho um formulário de cadastro, nele uso uma validação por ajax, sem refresh.
Esta funcionando perfeitamente,mas eu resolvi acrescentar uma função que completa o endereço quando o usuário coloca o seu CEP, consegui fazer tudo certinho, mas na hora que junto os codigos o carregamento de endereço falha. Simplesmente não faz nada, fica como se não tivesse nenhuma fução, mas quando eu apago os arquivos relacionados a validação do formulário, o CEP volta a funcionar...
Já dei uma bela de uma fuçada, mas não consegui ainda, estou batendo a cabeça a 4 dias só nisso, então resolvi pedir ajuda a você que entendem de verdade sobre isso!
o código da parte do cep que funciona, mas quando eu mando ele puxar os arquivos da validação de outros campos da erro é este:
<html>
<head>
<title>CEP</title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"></script>
<script src="js/gmaps.js" type="text/javascript"></script>
<script src="js/cep_clean.js" type="text/javascript"></script>
<script src="jsconfcad/sys_cad_jquery.js" type="text/javascript"></script>
<script src="jsconfcad/sys_cad_jquery.validate.js" type="text/javascript"></script>
<link href="css/clean.css" rel="stylesheet" />
<script>
$(function(){
wscep({'auto':true, 'map':'map1'})
})
</script>
</head>
<body>
<form onSubmit="return false">
<label>CEP</label>
<input id="cep" name="cep" type="text" maxlength="9" placeholder="Informe o CEP" />
<label>Rua</label>
<input id="rua" name="rua" type="text" placeholder="Nome da Rua / Logradouro" />
<label>Nº</label>
<input id="num" name="num" type="text" placeholder="Número" />
<label>Bairro</label>
<input id="bairro" name="bairro" type="text" placeholder="Informe o Bairro" />
<label>Cidade</label>
<input id="cidade" name="cidade" type="text" placeholder="Informe a Cidade" />
<label>UF</label>
<input id="uf" name="uf" type="text" placeholder="Informe a UF" />
</form>
<p> </p>
<p> </p>
</div>
<p> </p>
</body>
</html>
Quando eu apago aquela parte que eu deixei bem separada(linhas 13 e 14), ele funciona, se eu deixo, dá pau...
Alguém já viu isso?
Achei estranho pois as funções dos arquivos são diferentes umas das outras...
Peço que alguém me diga como anexar um .rar de todos os arquivos, pois se postar todos os códigos vai virar uma bagunça...
Muito obrigado.
Rafael.
Tenta autocompletar o CEP de outra maneira, tem alguns plugins por ai ..
tive que colocar em outra etapa de cadastro, pois se deixar junto nao roda mesmo.....
valeu amigo!
Existe maneiras melhores de fazer isso, usando a origem dos correios:
olha a classe php: BuscaEndereco.php
Aí vc chama ela na sua página "sua_pagina_ajax.php" que será retornada em ajax :
<?php
include "BuscaEndereco.php";
if(isset($_GET['cep'])){
$cepAdd = $_GET['cep'];
$ender = new BuscaEndereco();
$acao = $ender->exibeEndereco($cepAdd);
echo $acao;
die();
}
?>
aí vc faz uma função em jquery para capiturar e prencher os campos enviando para "sua_pagina_ajax.php?cep=05791070":
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
function preencheEndereco() {
if($.trim($("#cep").val()) != ""){
$.getScript('sua_pagina_ajax.php?cep='$("#cep").val().replace( "-", "" )+"-decore-sua-aoc.html", function(){
if(resultadoCEP["resultado"]==1){
$("#endereco").val(unescape(resultadoCEP["endereco"]) + " - "+ unescape(resultadoCEP["bairro"]));
$("#cidade").val(unescape(resultadoCEP["cidade"]));
$("#uf").val(unescape(resultadoCEP["uf"]));
$('#numero').focus();
}else{
$("#endereco").val("Endereço não encontrado para o cep digitado");
}
});
}
}
</script>
depois é só dar onblur com a função na sua index HTML com o script acima:
<input type="text" name="cep" id="cep" maxlength="14" onBlur="preencheEndereco();">
Lembrando que a ID dos campos que serão preenchidos devem ser: endereco, cidade, uf
Tenta autocompletar o CEP de outra maneira, tem alguns plugins por ai ..