Saludos...
Amigos... si alguien me puede ayudar ... le estare infinitamente agradecido... al grano...
Sucede que llevo mucho tiempo buscando una forma de hacer que cuando se digite el codigo de algun usuario y en el momento que se oprima tabulacion o se pierda el foco (onblur) se llenen los demas campos del formulario... al fin encontre algo que me funciona, o por lo menos en parte, pues logro hacer la consulta de los datos pero no logro hacer que esos datos pasen nuevamente al formulario... espero me puedan ayudar... apenas estoy empezando a tocar php, mysql y nunca habia usando ajax... hay algunas cosas del codigo que no las entiendo... pues las tome de este foro...
En la el input text nombre quiero que se escriba el nombre del mensajero, en este caso.
index.php
Código:
<html>
<head>
<script type="text/javascript">
//comprueba el navegador para el uso de ajax
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function compruebamsg(ellogin)
{
//para enviar un mensaje
var divMensaje=document.getElementById("error");
//buton.disabled=true;
mensajero.disabled=true;
var ajax=nuevoAjax();
ajax.open("POST", "run.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var param='login='+ellogin.value;
ajax.send(param);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Habilito nuevamente botones e inputs
mensajero.value="";
//boton.disabled=false;
mensajero.disabled=false;
// Muestro el mensaje enviado desde el servidor
//divMensaje.innerHTML=ajax.responseText;
}
}
}
</script>
</head>
<body>
<form id="frm" name="frm" action="">
<input id="mensajero" type="text" name="mensajero" onBlur="compruebamsg(mensajero)"><br />
<input id="nombre" type="text" name="nombre" ">
<br><br>
<input type="submit" name="boton" value="Enviar">
</form>
</body>
</html>
y aca es donde hago la consulta... todo esto funciona pues al mirar los datos que me entrega son los correctos... pero como hago para enviarlos al formulario de la pagina index.php???
run.php
Código:
<html>
<script>
function pasadato(nom)
{
window.opener.document.frm.nombre.value=nom;
}
</script>
<?
$msg = $_POST['msg'];
echo "el codigo es $msg";
include "../../conecta.php"; //conexion.
$link=Conectarse();
$datos = "SELECT mensajeros.cod_mensajero, mensajeros.nombre from mensajeros WHERE cod_mensajero = $msg";
$result = mysql_query($datos,$link);
if ($result)
{
$row = mysql_fetch_array($result);
if ($row[1] <> null)
{
echo "El mensajero $row[1] Ya Existe ";
pasadato($row[1]);
}else{
echo "no existe";
}
}else{
echo "";
}
?>
</html>