ADE_5 0 Denunciar post Postado Outubro 21, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 21, 2010 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
ADE_5 0 Denunciar post Postado Outubro 22, 2010 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