Mi problema es el siguiente:
Tengo una pagina con dos select. El segundo debe actualizarce a partir del primero.
Lo que no se hacer es como recorrer el xml que me envia el servidor.
Asi formo el xml
Código PHP:
<?
include('funciones.php');
$edo = $_GET['loc'];
$sql="select * from parloc where codpar = 1";//.$edo;
$res=mysql_query($sql);
$xml = "<?xml version='1.0'><localidades><localidad>";
while ($row = mysql_fetch_array($res))
{
$id=$row['codloc'];
$desc=$row['descripcion'];
$xml .="<id>".$id."</id>";
$xml .= "<desc>".$desc."</desc>";
//echo "<option value='".$id."'> ".$desc." </option>";
}
$xml .= "<localidad></localidades></xml>";
echo $xml;
?>
desde otro php lo que quiero hacer es formar el selec con el xml enviado
este es el codigo. No pongo la funcion de crear el objeto :).
Lo que si, no me doy cuenta como recorrer el xml formando los tag de option.
Código PHP:
function cargarContenido(){
var d1,contenedor;
contenedor = document.getElementById('contenedor');
localidad = document.getElementById('locadidad');
//contenedor es el <div> , donde al final pintaremos el nuevo select
d1 = document.QForm.partido.options[document.QForm.partido.selectedIndex].value;
//d1 = document.getElementById('localidad').value;
// recibimos en una variable el valor del estado elegido
ajax=nuevoAjax();
//aqui creamos una instancia del objeto ajax
ajax.open("GET", "procesos.php?loc="+d1,true);
// con esto enviamos al archivo .php el valor del estado para que sea ejecutado
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//En esta parte del código, se revisa cuando el ha sido procesada la carga del AJAX
contenedor.innerHTML = ajax.responseXML;
//CON en esta línea, decimos que pinte el resultado en nuestro div "contenedor"
localidad.value=respuesta.getElementsByTagName("desc")[0].childNodes[0].data;
}
}
ajax.send(null)
// aqui se hace el envio del objeto
}
</script>
<link href="paleta.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="titulo" >Fichero de Inmuebles</div>
<form method="post" action="guardar_fichero.php" onSubmit="return validar();" name="QForm">
Partido
<select name="partido" id="partido" style="width:100% " onChange="cargarContenido(this.partido)">
<?
$sql="select * from partidosnac";
$res=mysql_query($sql);
while ($row=mysql_fetch_array($res))
{
$id=$row['codpar'];
$desc=$row['descripcion'];
echo "<option value=$id>".$desc."</option>";
}
?>
</select>
<div id="contenedor">
<select name="localidad" id="localidad" style="width:100%" >
<option> </option>
</div>
</select>
saludos.