Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2009, 15:46
z_andres
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Verificar existencia de un registro en onblur

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>

Última edición por z_andres; 03/03/2009 a las 16:51