duda sobre autocompletado

Iniciado por miadagio, 29 Abril 2010, 19:08 PM

0 Miembros y 3 Visitantes están viendo este tema.

miadagio

 bueno tengo una duda, sobre autocompletado lo que pasa esque tengo el manejo de clientes y necesito que al ingresar un rut, si es que esta en la base de datos que se rellenen los demas campos, mi duda es que si se debe hacer necesariamente con ajax o se puede utilizar algo como javascrip, lo otro es que si se puede invocar una funcion PHP desde un evento onblur, como para aserlo por ai
bueno agradezco respues gracias

WHK

haces un formulario atraves de pasos, primero muestra el input con el rut y un botón para enviar el formulario, luego lo procesas y si está en la base de datos muestras los demás imputs llenos y en caso contrario vacios :P

ahora si quieres hacerlo via jquery puedes crear un input de tipo texto con id="inp_rut" y luego desde js le das el evento blur y una petición con los datos que podría ser un array serializado o en json teniendo cuidado de los carácteres especiales.

Código (javascript) [Seleccionar]
$('#inp_rut').blur(function(){

   $.ajax({
    type: 'POST',
    url: .......,
    data: ...... $('#inp_rut').val() ,
    timeout: 10000,
    success: function(data){
     eval(data);
     return true;
    }
   });

});


algo así.

miadagio

gracias por responder tan pronto, pero se podra hacer sin que se precione el click sobre el boton del formulario solo con el onblur??

WHK

si, ya te exploque como, si no entiendes entonces te recomendará que aprendieras un poco de jquery o si no de javascript aunque te va a salir mas complicado.

Código (javascript) [Seleccionar]
$('#inp_rut').blur(function(){
/* Codigo aca */
});


esto hace que el input con id inp_rut adquiera un onblur y se ejecutará lo que esté dentro del comentario.

miadagio


miadagio

me asalta una duda mas ya no puedo hacer que retorne la consulta no se como poner e buscado harto pero no logro entender como devuelvo los datos del usuario al formulario
cuando ago $('#madre').html(options) se me borra el todo los que tiene #madre y aparece solo los datos de la consulta como una cadena por eso trate de sakar con split pero no funciona
$('#add_rut').blur(function(){
       var id= $('#add_rut').val();
                    $.post('ver_clien.php', { rut: id}, function(options){
                        $('#madre').html(options);
                  array=(options).split(',');
                  alert(array)
                    });
  });

miadagio

lo resolvi con json asi
$("#add_rut").blur(function(){
$.ajax({
url: 'ver_clien.php',
type: 'post',
dataType: "json", // para recibir en formato JSON
data: 'rut=' + $("#add_rut").val(),
success: function(data){ //cuando DATA tiene valor lleno
$("#add_nom").val(data[0]['nombre']);
$("#add_ape").val(data[0]['apellido']);
$("#add_mail").val(data[0]['mail']);
$("#add_tel").val(data[0]['num_tel']);
}
});
});

});

y el php
<?php
require('../clases/user.class.php'); // llamo a la clase contenedora de las funciones

$objUser = new User// creo el objeto
$rut $_POST['rut']; //tomo la variable

$consulta=$objUser->mostrar_user($rut); // consulto

$data = array(); // creo el arreglo

while ($usuario mysql_fetch_array($consulta)) // bucle con el arreglo de la consulta
{
  
$data[] = $usuario// cargo el arreglo en un array DATA


header('content-type: application/json');

echo 
json_encode($data);  // Codifico en formato JSON

?>