Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 50
Sexo: Masculino
Localização: Sampa/Itanhaem/Brasil
Contato:

Trazer dados do resultado ajax em input

14-08-2008 08:56

Galera como trazer o resultado do ajax nos inputs?

pagina AJAX:

// JavaScript Document var xmlHTTP   function showCep(str) { xmlHTTP = GetXmlHttpObject() if(xmlHTTP==null)         {         Alert("Seu navegador não suporta HTTP REQUEST!")         return         } var url="procuracep.php" url=url+"?q="+str url=url+"&sid="+Math.random() xmlHTTP.onreadystatechange=stateChanged xmlHTTP.open("GET",url,true) xmlHTTP.send(null) }   function stateChanged() {         if(xmlHTTP.readyState == 2 || xmlHTTP.readyState == 3) {         document.getElementById("txtHint").innerHTML="<img src='imagens/ajax-loader.gif' />'";                  }         if(xmlHTTP.readyState==4 || xmlHTTP.readyState=="complete")         {                 document.getElementById("txtHint").innerHTML=xmlHTTP.responseText                 }         }         function GetXmlHttpObject() { var xmlHTTP=null;   try  {  // Firefox, Opera 8.0+, Safari  xmlHTTP=new XMLHttpRequest();  } catch (e)  {  // Internet Explorer  try   {   xmlHTTP=new ActiveXObject("Msxml2.XMLHTTP");   }  catch (e)   {   xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");   }  } return xmlHTTP;                                         }

CEP.php

<?php  function busca_cep($cep){  $resultadocep = @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($resultadocep, $retorno);  return $retorno;  }  if($cep == ""){}else{ $resultado_busca = busca_cep($cep); } if($cep == ""){}else{ $resultado_busca = busca_cep($cep); if($resultado_busca['resultado']==0){echo "<strong><font color='red'>Cep N&atilde;o Encontrado!</font></strong>";} } // após processamento do ajax pegar os valores abaixo e jogar em inputs da página principal. $resultado_busca[logradouro]; $resultado_busca[cidade]; $resultado_busca[estado]; $resultado_busca[bairro]; ?>

Bem galera depois que processar o ajax, teria que pegar as variaveis acima e jogar nos inputs.

Logo abaixo um pedaço do form da pagina principal que devera receber os resultados:

principal.php

<input name="endereco" type="text" id="endereco" value="<?php if($operacao=="cep"){echo $resultado_busca['tipo_logradouro']. " " . $resultado_busca['logradouro'];}else{echo $endereco;} ?>" size="25" maxlength="255" /> <br />                                                    <label for="cidade">Cidade</label>                                                 <input name="cidade" type="text" id="cidade" value="<?php if($operacao=="cep"){echo $resultado_busca['cidade'];}else{echo $cidade;} ?>" size="30" maxlength="50" />                   <br />                                               <label>Estado</label>                                 <input name="estado" type="text" id="estado" value="<?php if($operacao=="cep"){echo $resultado_busca['uf'];}else{echo $estado;} ?>" size="2" maxlength="2" />                                                  <br />                         <label>Bairro</label>                                 <input name="bairro" type="text" id="bairro" value="<?php if($operacao=="cep"){echo $resultado_busca['bairro'];}else{echo $bairro;} ?>" size="25" maxlength="50" />                         <br />

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17230
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trazer dados do resultado ajax em input

14-08-2008 12:56

Fiz algumas adaptações.

form.php

<script type="text/javascript"> try{ xmlhttp = new XMLHttpRequest(); } catch(ee){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(E){ xmlhttp = false; } } } i = 0; function abre(arquivo,div){ i++; xmlhttp.open('GET',arquivo+"&v="+i); xmlhttp.onreadystatechange=conteudo xmlhttp.send(null) } function conteudo() { document.getElementById('conteudo').innerHTML="carregando informações..." if (xmlhttp.readyState==4){ document.getElementById('conteudo').innerHTML=""; document.getElementById('invisivel').innerHTML=xmlhttp.responseText } } </script>


<div id="conteudo"></div> <div id="invisivel"></div>   <form name="form"> CEP: <input type="text" name="cep" id="cep" value=""> <a href="javascript:abre('consulta.php?cep='+document.form.cep.value+'','conteudo')">verificar</a> <br><br> UF: <input type="text" name="uf" id="uf" value=""> <br> CIDADE: <input type="text" name="cidade" id="cidade" value=""> <br> BAIRRO: <input type="text" name="bairro" id="bairro" value=""> <br> LOGADOURO: <input type="text" name="logadouro" id="logadouro" value=""> <br> RUA: <input type="text" name="rua" id="rua" value=""> </form>

consulta.php

<?php $cep = $_GET['cep']; $resultadocep = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string'); $separa = explode("&", $resultadocep); if($separa[1]=="resultado=0") { echo "<font color='red'>CEP incorreto</font>"; return false; } $UF = explode("=", $separa[3]); $CIDADE = explode("=", $separa[4]); $_C = str_replace("+", " ", $CIDADE[1]); $BAIRRO = explode("=", $separa[5]); $_B = str_replace("+", " ", $BAIRRO[1]); $LOGADOURO = explode("=", $separa[6]); $_L = str_replace("+", " ", $LOGADOURO[1]); $RUA = explode("=", $separa[7]); $_R = str_replace("+", " ", $RUA[1]); ?> <img src="a.gif" style="display:none;" onload="document.getElementById('uf').value='<?="$UF[1]";?>'; document.getElementById('cidade').value='<?="$_C";?>'; document.getElementById('bairro').value='<?="$_B";?>'; document.getElementById('logadouro').value='<?="$_L";?>'; document.getElementById('rua').value='<?="$_R";?>';">

No consulta tem o a.gif, troca para uma figura do seu servidor, essa imagem é para mandar os dados para o input no onload.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 50
Sexo: Masculino
Localização: Sampa/Itanhaem/Brasil
Contato:

Trazer dados do resultado ajax em input

14-08-2008 16:22

Bem, testei trocando as variaveis e realmente ele está escrevendo nos inputs da pagina principal, porem nao estáva trazendo os valores do $resultadocep

Visto o get contents pegar de um site aonde o a estrutura é em XML, da pra acrescentar: $resultado_busca = busca_cep($cep)
e ai mandar imprimir os resultados normalmente

o código da consulta ficou assim:

<?php $cep = $_GET['cep']; function busca_cep($cep){  $resultadocep = @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($resultadocep, $retorno);  return $retorno;  }  if($cep == ""){}else{ $resultado_busca = busca_cep($cep); } if($cep == ""){}else{ $resultado_busca = busca_cep($cep); if($resultado_busca['resultado']==0){echo "<strong><font color='red'>Cep N&atilde;o Encontrado!</font></strong>";} } echo $resultado_busca['logradouro']; echo $resultado_busca['uf']; //$separa = explode("&", $resultadocep); //if($separa[1]=="resultado=0") { //echo "<font color='red'>CEP incorreto</font>"; //return false; //} //$uf = $resultado_busca['uf']; //$CIDADE = explode("=", $separa[4]); //$_C = str_replace("+", " ", $CIDADE[1]); //$BAIRRO = explode("=", $separa[5]); //$_B = str_replace("+", " ", $BAIRRO[1]); //$LOGADOURO = explode("=", $separa[6]); //$_L = str_replace("+", " ", $LOGADOURO[1]); //$RUA = explode("=", $separa[7]); //$_R = str_replace("+", " ", $RUA[1]); ?> <img src="imagens/ajax-loader.gif" style="display:none;" onload="document.getElementById('uf').value='<?php echo $resultado_busca['uf'] ?>'; document.getElementById('cidade').value='<?php echo $resultado_busca['cidade'];?>'; document.getElementById('bairro').value='<?php echo $resultado_busca['bairro'] ;?>'; document.getElementById('logadouro').value='<?php echo $resultado_busca['tipo_logradouro'] ;?>'; document.getElementById('rua').value='<?php echo $resultado_busca['logradouro'] ;?>';">

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17230
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trazer dados do resultado ajax em input

14-08-2008 16:24

Boa ¨wink¨
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 39
Sexo: Masculino
Localização: Alagoas/Arapiraca/Brasil
Contato:

Trazer dados do resultado ajax em input

04-05-2009 11:54

Não sei o que ouve, mas aparentemente ele não escreve no input. Será que o problema é com o serviço?
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 50
Sexo: Masculino
Localização: Sampa/Itanhaem/Brasil
Contato:

Trazer dados do resultado ajax em input

04-05-2009 12:00

Veja se o allow_url_fopen no php.ini está on
0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Trazer dados do resultado ajax em input

23-09-2009 16:04

Por favor não encerrem o post sem resolver o problema do inputs!
estou com a mesma dificuldade! abraços
:o
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17230
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trazer dados do resultado ajax em input

23-09-2009 16:29

O Ajax, retorna a resposta geralmente para uma div, com base no ID dela, então você pode estar usando o mesmo artifícil, só que para o value. Se não entendeu tento montar um exemplo. Especifica o problema que tem ai.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17230
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trazer dados do resultado ajax em input

20-09-2010 19:42

Para facilitar, fiz uma melhoria no script, agora usando jQuery, pois antes era Ajax.

O formulário continua o mesmo, só que bem mais compacto com o jQuery.

<script src="jquery.js"></script>


<div id="conteudo"></div>   <form name="form"> CEP: <input type="text" name="cep" id="cep" value=""> <a href="javascript://" onclick="$('#conteudo').load('teste2.php?cep='+document.form.cep.value+'','conteudo')">verificar</a> <br><br> UF: <input type="text" name="uf" id="uf" value=""> <br> CIDADE: <input type="text" name="cidade" id="cidade" value=""> <br> BAIRRO: <input type="text" name="bairro" id="bairro" value=""> <br> LOGADOURO: <input type="text" name="logadouro" id="logadouro" value=""> <br> RUA: <input type="text" name="rua" id="rua" value=""> </form>

Note no script acima, que mando o cep digitado no campo cep, para o documento teste2.php

No teste2.php temos o seguinte:

<?php $cep = $_GET['cep']; $resultadocep = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string'); $separa = explode("&", $resultadocep); if($separa[1]=="resultado=0") { echo "<font color='red'>CEP incorreto</font>"; return false; } $UF = explode("=", $separa[3]); $CIDADE = explode("=", $separa[4]); $_C = str_replace("+", " ", $CIDADE[1]); $BAIRRO = explode("=", $separa[5]); $_B = str_replace("+", " ", $BAIRRO[1]); $LOGADOURO = explode("=", $separa[6]); $_L = str_replace("+", " ", $LOGADOURO[1]); $RUA = explode("=", $separa[7]); $_R = str_replace("+", " ", $RUA[1]); ?> <img src="pronto.jpg" onload="document.getElementById('uf').value='<?php echo $UF[1]; ?>';                           document.getElementById('cidade').value='<?php echo $_C; ?>';                           document.getElementById('bairro').value='<?php echo $_B; ?>';                           document.getElementById('logadouro').value='<?php echo $_L; ?>';                           document.getElementById('rua').value='<?php echo $_R; ?>';">

Um ponto importante a observar é que há uma imagem, que é usada como âncora para que os resultados sejam mandados para os inputs, com seus respectivos ids. Se no caso você não quiser mostrar essa imagem junto com o resultado, adicione: style="display:none;"

Mas, é legal deixar uma imagem, nem que seja aqueles V que é mostrado quando tudo deu certo.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17230
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trazer dados do resultado ajax em input

20-09-2010 23:15

Para não ter problema com acento nesse script, adicione essa linha no topo do cep.php

header("Content-Type: text/html; charset=ISO-8859-1",true); 

Também no cep.php, vamos trocar

$separa = explode("&", $resultadocep); 

por

$separa = explode("&", urldecode($resultadocep)); 

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado