Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/02/2007, 10:00
lloptor
 
Fecha de Ingreso: marzo-2003
Ubicación: València
Mensajes: 53
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: Actualizar varios inputs utilizando ajax

Hola makeitslow!
Ahora lo entiendo!

Pues yo utilizo "script.aculo.us" para hacer este tipo de autocompletes. Te explico cómo lo hago yo para ver si te sirve y puedes utilizarlo.

Primero tienes que descargarte las librerias de script.aculo.us (http://script.aculo.us/). En el zip hay muchas cosas pero lo que te hace falta en un principio son los archivos prototype.js y scriptaculous.js. Los dos archivos se encuentran en el directorio lib y src respectivamente.
Copia estos dos archivos en algún lugar dentro del directorio de tu web (dónde acostumbres a dejar los archivos javascript).

Bien, ahora en tu archivo principal (el que contiene el formulario), incluye las librerías javascript en el head. Así:
Código HTML:
 <script type="text/javascript" src="prototype.js"></script>

  <script type="text/javascript" src="scriptaculous.js"></script> 
En "src" utiliza la ruta exacta a tus archivos.

Ahora hay que incluir los "inputs" necesarios. En tu caso: uno para nombre, otro para apellido y otro para dirección.
Código HTML:
<p>
<input type="text" id="nombre" name="nombre" autocomplete="off"/>
<div id="nombre_choices" class="autocomplete"></div>
</p>
<p>
<input type="text" id="apellidos" name="apellidos" autocomplete="off"/>
<div id="apellidos_choices" class="autocomplete"></div>
</p>
<p>
<input type="text" id="direccion" name="direccion" autocomplete="off"/>
<div id="direccion_choices" class="autocomplete"></div>
</p> 
Por último, hay que incluir el código javascript que realiza las llamadas a los scripts (PHP, en tu caso) que devuelven los valores.
Código HTML:
<script type="text/javascript">
new Ajax.Autocompleter("nombre", "nombre_choices", "nombre.php", {});
new Ajax.Autocompleter("apellidos", "apellidos_choices", "apellidos.php", {});
new Ajax.Autocompleter("direccion", "direccion_choices", "direccion.php", {});
</script> 
Cada uno de los archivos PHP devolverá una lista HTML (<ul>,<li>...) con al información. Puedes utilizar la variable $_POST["id_del_input"], para obtener los caracteres que ha insertado el usuario de momento para limitar tu búsqueda.

Por ejemplo (nombre.php):
Código PHP:
<?php
$prefix 
$_POST["nombre"];
$query "SELECT * FROM tabla WHERE nombre LIKE '$prefix%'";

/* ejecutar query obtener resultados
y devolver lista*/
echo "<ul><li>MARCELO</li><li>MARIA</li><li>MARCO</li></ul>";

return 
1;
?>
Suerte! Y saludos!

PD: Aquí tienes más información sobre la clase Ajax.autocompleter para que puedes pasarle más parámetros como, por ejemplo, número de caracteres mínimos para llamar a los archivos de búsqueda.
http://wiki.script.aculo.us/scriptac....Autocompleter