misterviralata Postado Outubro 14, 2007 Denunciar Share Postado Outubro 14, 2007 Ola Amigos!tenho o um script onde o usúario digita o cep e retorna o endereço do mesmo:<html> <head> <title>CEP</title> <script type="text/javascript"> <!-- function validaCEP() { var cs=''+document.getElementById('cep').value+document.getElementById('cepdv').value; var inv="Por favor, informe um CEP válido e completo."; if (cs.length != 8) { alert(inv); return false; } for(i=0;i<8;i++) { dig = cs.charCodeAt(i); if ((dig < 48) || (dig > 57)) { alert(inv); return false; } } return true; } //--> </script> </head> <body> <?php function Cep() { $cepnum = (isset($_POST['cep'])?$_POST['cep']:''); $cepdv = (isset($_POST['cepdv'])?$_POST['cepdv']:''); $cepstr = $cepnum . $cepdv; if (strlen($cepstr) != 8) return false; for($i=0;$i<8;$i++) { $dig = ord($cepstr[$i]); if (($dig < 48) || ($dig > 57)) return false; } return $cepstr; } function busca_cep($cep){ $resultado = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string'); if(!$resultado){ $resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep"; } parse_str($resultado, $retorno); return $retorno; } $cep = Cep(); if ($cep) $endereco = busca_cep($cep); ?> <form action="cep.php" method="post" onSubmit="return validaCEP()"> CEP: <input style="width:50px" type="text" id="cep" name="cep" maxlength="5" <?php if ($cep) echo 'value="'.substr($cep,0,5).'"'; ?>/> -<input style="width:30px" type="text" id="cepdv" name="cepdv" maxlength="3" <?php if ($cep) echo 'value="'.substr($cep,5,3).'"'; ?>/> <input type="submit" value="Buscar dados" /> </form> <?php if ($cep) { echo $endereco['tipo_logradouro'] . ' ' . $endereco['logradouro'] . "<br />\r\n"; echo $endereco['bairro'] . "<br />\r\n"; echo $endereco['cidade'] . ' - ' . $endereco['uf'] . "<br />\r\n"; } ?> </body> </html>Minha duvida, como fazer para que o resultado seja exibido quando tirar o focus do campo sem ter que clicar no botão submit ?obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2007 Denunciar Share Postado Outubro 14, 2007 Em vez de usar onsubmit no form, use onblur no campo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 misterviralata Postado Outubro 14, 2007 Autor Denunciar Share Postado Outubro 14, 2007 (editado) Opa consegui fazer retornar o php!function pesquisa(valor){ url="teste.php?valor="+valor; ajax(url); } function ajax(url){ req = null; // Procura por um objeto nativo (Mozilla/Safari) if (window.XMLHttpRequest){ req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; req.open("GET",url,true); req.send(null); } // Procura por uma versão ActiveX (IE) else if (window.ActiveXObject){ req = new ActiveXObject("Microsoft.XMLHTTP"); if (req){ req.onreadystatechange = processReqChange; req.open("GET",url,true); req.send(); } } } function processReqChange(){ if (req.readyState == 4){ if (req.status ==200){ document.getElementById('pagina').innerHTML = req.responseText; }else{ alert("Houve um problema ao obter os dados:n" + req.statusText); } } } <input style="width:30px" type="text" id="cepdv" name="cepdv" maxlength="8" Onblur="pesquisa(this.value)"/> <div id="pagina"></div> na pagina teste.php function Cep() { $cepstr = $_GET["valor"]; if (strlen($cepstr) != 8) return false; for($i=0;$i<8;$i++) { $dig = ord($cepstr[$i]); if (($dig < 48) || ($dig > 57)) return false; } return $cepstr; } function busca_cep($cep){ $resultado = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string'); if(!$resultado){ $resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep"; } parse_str($resultado, $retorno); return $retorno; } $cep = Cep(); if ($cep) $endereco = busca_cep($cep); echo $endereco['tipo_logradouro'] . ' ' . $endereco['logradouro'] . "<br />\r\n"; echo $endereco['bairro'] . "<br />\r\n"; echo $endereco['cidade'] . ' - ' . $endereco['uf'] . "<br />\r\n"; ?>Agora como faço para fazer a validação dos campos validaCEP()?Obrigado! Editado Outubro 14, 2007 por misterviralata Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
misterviralata
Ola Amigos!
tenho o um script onde o usúario digita o cep e retorna o endereço do mesmo:
Minha duvida, como fazer para que o resultado seja exibido quando tirar o focus do campo sem ter que clicar no botão submit ?
obrigado!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.