Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/12/2008, 11:06
Avatar de Highlander
Highlander
 
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 4
Respuesta: Usando ajax para cargar un campo(No combobox)

El error es que habian algunas sentencias que eran para enviar varios datos, al eliminar el envio del vector se podria el error.

Encontre un codigo que hace justo lo que nesecito y de manera mas simple, me permite actualizar varios campos a la vez basados en el valor de uno solo (EJ: ID)
le hice una pequeña modificación para que se ejecute en el evento onChange.

Por si alguien le sirve:

ej1.php

Código:
<html>
<head>
<script language="javascript" type="text/javascript">
function nuevoAjax()
{ 
    var xmlhttp=false; 
    try 
    { 
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    }
    catch(e)
    { 
        try
        { 
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        catch(E) { xmlhttp=false; }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

    return xmlhttp; 
}

function traerDatos()
{
    var cod=document.getElementById("cod").value;
    var campo1=document.getElementById("c1");
    var campo2=document.getElementById("c2");
        
    var ajax=nuevoAjax();
    ajax.open("POST", "ej2.php", true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.send("v="+cod);
            
    ajax.onreadystatechange=function()
    {
        if (ajax.readyState==4)
        {
            var respuesta=ajax.responseXML;// Rescata el contenido del archivo XML retornado del servidor:
            campo1.value=respuesta.getElementsByTagName("nombre")[0].childNodes[0].data;
            campo2.value=respuesta.getElementsByTagName("apellido")[0].childNodes[0].data;
        }
    }
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Ejemplo</title>
</head>
<body>
<input type="text" id="cod" onChange="traerDatos(this.form)"> Codigo <br><br>
<input type="text" id="c1"> Nombre<br><br>
<input type="text" id="c2"> Apellido
</body>
</html>
ej2.php

Código:
<?php
$v=$_POST["v"];

$conexion=mysql_connect("localhost", "root", "");
mysql_select_db("ajax", $conexion);

$resultado=mysql_query("SELECT nombre, apellido FROM ejemplo WHERE id='$v'");
$registro=mysql_fetch_row($resultado);

$xml="<?xml version='1.0' encoding='ISO-8859-1'?>";
$xml.="<datos>";
$xml.="<nombre><![CDATA[$registro[0]]]></nombre>";
$xml.="<apellido><![CDATA[$registro[1]]]></apellido>";
$xml.="</datos>";
header("Content-type: text/xml");
echo $xml;
?>
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.