Ir para conteúdo

POWERED BY:

Arquivado

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

rebortec

[Resolvido] Precher inpt automaticamente com jquery autocomplete

Recommended Posts

Boa Noite Pessoal,

 

Estou aqui com um problema que penso que me podem ajudar, tenho um formuário onde procuro o nome do cliente para preencher os restantes campos, o que pretendo é que ao procurar o nome com autocomplete preenche-se os restantes campos do formulário, ou quando digitasse o id_cliente preenchesse o nome e também os restantes campos.

 

Não sei se me fiz entender.

Talvez me possam explicar ou indicar algum exemplo para que me possa guiar.

 

Obrigado malta

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se o autocomplete do jQuery possui esse tipo de opção, ou se é simples de implementar.

 

mas fiz um script 'na mão', q faz isso que você pediu:

http://wbruno.com.br/blog/2011/04/18/input-preenche-formulario-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

um autocomplete, q ao selecionar preenche o formulario ?

 

http://wbruno.com.br/blog/2010/01/08/suggest-ajax-jquery-phpmysql/

 

não tenho muito oq ajudar, se não ver a sua tentativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde William Bruno,

 

Não estou a conseguir colocar o seu código a funcionar,

 

este é o meu código:

 

form_registo_equipamento.php

<script type="text/javascript">
$(function($) {
// Quando o formulário for enviado, essa função é chamada
$("#formulario_equipamento").submit(function() {
	// Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação
       var descricao = $("#descricao").val();
       var sn = $("#sn").val();
	var marca = $(".marca").val();
	var modelo = $("#modelo").val();
	var cor = $("#cor").val();    
	// Exibe mensagem de carregamento
	$("#status").html("<img src='img/loading.gif' alt='Enviando' />");
	// Fazemos a requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST
       $.post("inc/envia_reg_equipamento.php", {descricao: descricao, sn: sn, marca: marca, modelo: modelo, cor: cor}, function(resposta) {
			// Quando terminada a requisição
			// Exibe a div status
			$("#status").slideDown();
			// Se a resposta é um erro
			if (resposta != false) {
				// Exibe o erro na div
				$("#status").html(resposta);
			} 
			// Se resposta for false, ou seja, não ocorreu nenhum erro
			else {
				// Exibe mensagem de sucesso
				$("#status").html("Mensagem enviada com sucesso!");
				//limpa dados

			}
	});
});
});
// termina envio informação
</script>


<script type="text/javascript">
       $(document).ready(function(){
               $("input[name='suggest']").keyup(function(){
                       createList('.suggest');
                       $.ajax({
                               type: "GET",//apenas pra ficar mais fácil de debugar, pode mudar para POST depois
                               url: "inc/pesquisa_nome.php",
                               data: "parte="+$(this).val(),
                               success: function( data ){
                                       $("#suggest").html( data );
                               }
                       });
               });

               $("#suggest a").live('click', function( e ){
                       e.preventDefault();
                       var href = $(this).attr('href');
                       var id = href.split('=');

                       $("input[name='id']").val( id[1] );
                       $("input[name='nome']").val( $(this).text() );

                       $("#suggest").remove();
               });
               $("#suggest").mouseout(function(){
                       $("#suggest").remove();
               });
       });
       function createList( el )
       {
               $("#suggest").remove();

               var list = document.createElement('ul');
               list.id = 'suggest';
               $( el ).append( list );
       }
</script>



<form id="formulario_equipamento" action="javascript:func()" method="post">
<fieldset>
   	<legend>Cliente</legend>
       <dl>
       	<dt><label for="procurar_cliente">Procurar Cliente:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="sugest" id="sugest" size="50" maxlength="128"  > <button>Clientes</button></div></dd>
       </dl>
	<dl>
       	<dt><label for="nome_cliene">Nome:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="nome" id="nome" size="50" maxlength="128"  > <button>Clientes</button></div></dd>
       </dl>
	<dl>
       	<dt><label for="id_cliente">Código Cliente:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="id" id="id" size="50" maxlength="128"  > <button>Clientes</button></div></dd>
       </dl>


	</div>
	</fieldset>
<fieldset>
   	<legend>Equipamento</legend>
       <dl>
       	<dt><label for="descricao">Descrição:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="descricao" id="descricao" size="50" maxlength="128"  ></div></dd>
       </dl>
       <dl>
       	<dt><label for="sn">Número de Série:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="sn" id="sn" size="50" maxlength="200" ></div></dd>
       </dl>
       <dl>
       	<dt><label for="marca">Marca:</label></dt>
           <dd><div class="NFTextCenter"><select name="marca" class="marca" id="marca">
		<?php
		$sql = "SELECT id_marca, descricao FROM marcas ".
		"ORDER BY descricao";

		$rs = mysql_query($sql);

		while($row = mysql_fetch_array($rs))
		{
			 echo "<option value=\"".$row['id_marca']."\">".$row['descricao']."</option>\n  ";
		}
		?>

		</select></div></dd>
       </dl>
	<dl>
       	<dt><label for="modelo">Modelo:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="modelo" id="modelo" size="32" maxlength="100" ></div></dd>
       </dl>
	<dl>
       	<dt><label for="cor">Cor:</label></dt>
           <dd><div class="NFTextCenter"><input type="text" name="cor" id="cor" size="32" maxlength="100" ></div></dd>
       </dl>
	<div id="status"></div>
	<input type="submit" value="Enviar" id="enviar" />
   </fieldset>
</form>

 

pesquisa_nome.php

<?php
       header("Content-Type: text/html; charset=ISO-8859-1");

       echo suggest( getGet('parte') );

function suggest( $palavra )
{
       $sql = "SELECT `id_cliente`, `nome` FROM `clientes` ";
       if( !empty($palavra) )
               $sql .= "WHERE `nome` LIKE '{$palavra}%'";

       $mysqli = new mysqli( 'localhost','xxx','xxx','xxx' );
       $query = $mysqli->query( $sql );
       if( $query->num_rows>0 )
       {
               $li='';
               while( $dados = $query->fetch_object() )
                       $li .= '<li><a href="?id='.$dados->id_cliente.'">'.$dados->nome.'</a></li>';
       }
       else
               $li = 'Nenhum cadastro encontrado!';

       return $li;
}
function getGet( $campo ){
       return ( isset($_GET[ $campo ]) ) ? filter( $_GET[ $campo ] ) : null;
}
function filter( $var )
{
       if( !get_magic_quotes_gpc() )
               $str = mysql_real_escape_string( $var );
       else
               $str = $var;
       $str = str_replace( '#', '\#', $str );
       return $str;
}
?>

 

na minha base de dados tenho os campos:

-id_cliente

-nome

 

 

 

Pode dar me uma ajuda?

 

 

Obrigado

 

Peço desculpa, consegui,

 

no entanto fica a resolução para possiveis interessados:

Erro no nome sugest "suggest"

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.