ayuda metodo onchange

Iniciado por kakashi20, 10 Febrero 2011, 01:34 AM

0 Miembros y 1 Visitante están viendo este tema.

kakashi20

hola

tengo dos <input type="text"> en php, lo que quisiera hacer es que en el primer text escribir una cédula  para que en el segundo text me arrojara el nombre de la persona asociada a esa cédula la cual se encuentra en una base de datos mysql

¿ como podría hacer eso con el método onchange del text o si se pude hacer de otra forma ?


Si alguien me pudiese ayudar se lo agradecería.

Lunfardo

#1
si lo queres s¡n tener que actulizar la pagina vas a necesitar ajax, de otra manera yo no se ya que onchange() solo llama funciones en javascript, y javascript no puede acceder a una base de datos directamente.

#!drvy

Esto implicaria javascript. Lo mas facil es hacerlo con jQuery.
Puedes adaptar uno de estos ejemplos a tu gusto.

::-> Tutorial basico para hacer autocompletar con jquery
::-> Funcion autocompletar con jQuery
::-> Autocompletar jQuery



Saludos

Lunfardo

no creo que sea necesario usar jquery, ya que jquery utiliza funciones ajax, y lo que el deberia hacer en ajax es bastante simple

kakashi20

el jquery no me sirve para esto pero si para otras cosas, pero como lo podria hacer esto en ajax ?


Gracias

Lunfardo

#5
bueno , espero que te sirve si ya no lo hizo google =P, estaba comiendo y por eso me atrase

el javascript seria asi :
Código (javascript) [Seleccionar]


var xmlHttp = new XMLHttpRequest();

function buscarAp() {
var nombre = document.getElementById('nombre').value;

   if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {

       xmlHttp.open("GET", "respuesta.php?nombre=" + nombre, true);

       xmlHttp.onreadystatechange = manejarRespuesta;

       xmlHttp.send(null);
   }
   else
       setTimeout('buscarAp()', 1000);
}

function manejarRespuesta() {
if ((xmlHttp.readyState == 4)&&(xmlHttp.status == 200)){

      var respuesta = xmlHttp.responseText
          var apellido= document.getElementById("apellido");
  apellido.value=respuesta;
           setTimeout('buscarAp()', 1000);
}
}



donde la funcion buscarAp se carga en el onload() del body.


el php(respuesta.php) es algo trivial por que supongo que lo sabes hacer...
Código (php) [Seleccionar]

<?php


$nombre
$_GET['nombre'];


$apellido ConectarYBuscarEnDB($nombre);

echo 
$apellido;

?>



el ejemplo es basico pero espero que te sirva


#!drvy

@SmogMX
Dije lo mas facil, suponiendo que en 4-5 lineas lo tenias hecho.


@kakashi20
No se porque no te sirve, pues puedes adaptarlo perfectamente a lo que pides.
De todos modos aqui tienes a al sr. Google dando te la informacion necesaria para conseguirlo.

::-> http://www.google.com/search?hl=en&biw=1280&bih=899&q=busqueda+ajax+&aq=f&aqi=&aql=&oq=


Saludos

kakashi20

Gracias

Estoy leyendo lo de google y ya encontré una manera de como hacerlo. Voy a intentar.


Lunfardo

puede ser que tengas razon drby, pero primero va a tener que entender todo el articulo antes de moficar las lineas que necesita,

es solo mi opinion nomas

Nakp

Cita de: kakashi20 en 10 Febrero 2011, 02:03 AM
el jquery no me sirve para esto pero si para otras cosas, pero como lo podria hacer esto en ajax ?


Gracias

no tienes ni idea de jquery xD

bueno :P sucede que no se puede onchange :P debes hacer algo como onkeyup y que el input tenga focus xD
Ojo por ojo, y el mundo acabará ciego.