Ir para conteúdo

POWERED BY:

Arquivado

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

ADE_5

preenchimento de campo text com AJAX e PHP

Recommended Posts

Boa tarde galera!

Meu primeiro post aqui no iMasters!

Sou novato em programação web e estou com problemas para preencher campo input text.

Tenho varios inputs texts na página e gostaria que quando o usuário preencher o campo nome e clicar em um submit, o campo crmv_crea seja preenchido com o número relacionado a este nome no bd (PostgreSQL) (se possivel que os outros campos sejam preenchidos também, e de forma automática sem usar submit).Sei que isso é possivel e que tenho que usar Javascript, AJAX e PHP, mas devido a minha falta de conhecimento não estou conseguindo um resultado satisfatório.

Desde já agradeço a alguem que possa me fornecer algum auxilio.

 

Meus códigos->

 

tecnico.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Técnico</title>

<link rel="stylesheet" href="css/style.css" type="text/css" />
<script type="text/javascript" src="../js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="../js/jquery.autocomplete2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#nome").autocomplete("consultas/consulta_tecnico2.php",{
        selectFirst: false 
    });
});
</script> 
    <script>
      var ajax;
      function IniciaAjax(){
        var ajax;
        if(window.XMLHttpRequest){
            ajax = new XMLHttpRequest();        
        }else if (window.ActiveXObject){
            ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
            if(!ajax){
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }
        } 
        else{
          alert("Seu navegador não possui supote com essa aplicação!");
        }
        return ajax;
     } 
     
     function Processa()
     {
      ajax = IniciaAjax();
      if(ajax)
      {
        ajax.onreadystatechange = function(){
            if(ajax.readyState ==4){
                if(ajax.status ==200){
                    document.getElementById("resultado").value = ajax.responseText;
                }else{
                    alert(ajax.statusText);
                }
            }
        }
        nome = document.getElementById("nome").value;
        
        dados = 'nome='+nome;
        
        ajax.open('POST','consulta_crmvcrea.php',true);
        ajax.setRequestHeader('Content-Type','aplication/x-www-form-urlencoded');
        ajax.send(dados);
      }  
     }
    </script>               

</head>
<body>

<div id="tudo">
<div id="cabecalho_conteudo">
<h5>Cadastro do Técnico</h5>
</div>
<div id="corpo_conteudo" class="formatacao_conteudo">
<table border="0px">
<form name="form1" method="post" action="">       <tr>      
          <td>
  	        <label>Nome:</label>
          </td>
        <td>
     	        <input name ="nome" id="nome" type="text"/>
        </td>
        <td>	
                <button type="button" onclick="Processa();">Processar</button>
        </td>	
        <td>
        </td>
       </tr> 	 
       <tr>
            <td>
               <label for="crmv_crea">CRMV_CREA: </label>
            </td>
	    <td>		
	       <input type="text" id="resultado" type="text" size="20" />
            </td> 
         </div>
    </div>
   </div>
</body>
</html>
consulta_crmvcrea.php
  <?php
            $gmtDate = gmdate("D, d M Y H:i:s");
            header("Expires: {$gmtdate} GMT");
            header("Last-Modified: {$gmtDate} GMT");
            header("Cache-Control: no-cache, must-revalidate");
            header("Progma: no-cache");
            include('inc/conexao.php'); 
            $nome = $_POST['nome'];
            $consulta = pg_query("SELECT crmv_crea FROM tecnico WHERE nome='$nome'");
                      $y = pg_fetch_array($consulta);{ 
                      $preenche = $y["crmv_crea"];
                                            
                        echo $preenche;                   
              }
  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo com jQuery:

http://www.wbruno.com.br/blog/?p=12

 

adaptar para input é bem simples, tem essa alteração e inclusive uma versão asp desse meu script por aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado William Bruno, mas consegui fazer funfar o script que eu estava utilizando, estava usando o codigo php abaixo de forma errada:

 

$consulta = pg_query("SELECT * FROM tecnico WHERE nome='$nome'");

$y = pg_fetch_array($consulta);

{

$preenche = $y["crmv_crea"];

echo $preenche;

}

 

e a forma correta abaixo:

 

$consulta = pg_query("SELECT * FROM tecnico WHERE nome='{$nome}'");

$y = pg_fetch_array($consulta);

{

$preenche = $y["crmv_crea"];

echo $preenche;

}

 

detalhes que a falta de conhecimento nos fazem penar atraz da resposta certa.

 

Bom resolvi apenas o inicio do meu problema.

Agora minha pergunta é: como faço para fatiar o array php e enviar de volta para a página de forma que eu possa preencher os demais campos

pois esta retornando apenas o campo crmv_crea e gostaria de preencher os demais campos, e se possivel de forma automática sem usar o submit pois o mesmo deixa a página com aspecto "engessado".

Desde já agradeço!!!

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.