Hola estoy empezando a usar xajax y necesito hacer que el select de un formulario actualize la ciudad de acuerdo al pais que se elije, los codigos los tengo separados en tres archivos, el problema es que al elegir un pais no pasa nada, me gustaria si alguien me puede decir donde esta el error, muchas gracias
Código HTML:
<?php
require("13.common.php");
echo '<?xml version="1.0" encoding="UTF-8"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prueba xajax</title>
<?php $xajax->printJavascript(); ?>
</head>
<body>
<form action="13.php" method="post">
<select name="select" id="select" onChange="xajax_actualizaCiudad(this.value)">
<option value="es" selected="selected">Spain</option>
<option value="a">Argentina</option>
<option value="us">United States</option>
<option value="i">Italy</option>
</select>
<select name="ciudad" id="ciudad">
</select>
</form>
</body>
</html>
Código PHP:
<?php
function encontrarCiudades($pais){
switch($pais){
case "es":
$ciudades = array("Madrid", "Las Rozas", "Móstoles", "San Sebastián de los Reyes");
break;
case "a":
}
$ciudades = array("Santa fe", "Rosario", "Cordoba", "Buenos Aires");
// Retornamos el array
return $ciudades;
}
function actualizaCiudad($pais){
// Buscamos en la base de datos todas las ciudades del pas y las
// ponemos dentro de $ciudades.
$ciudades=encontrarCiudades($pais);
// Creamos la resupesta
$respuesta=new xajaxResponse();
// Por cada ciudad del array,
for($i=0; $i<count($ciudades); $i++){
// Crea una etiqueta option dentro del segundo select,
$respuesta->addCreate("ciudad", "option", "option".$i);
// Le da una value al option con el nombre de la ciudad,
$respuesta->addAssign("option".$i, "value", $ciudades[$i]);
// Y dentro de la etiqueta tambin le pone la ciudad.
$respuesta->addAssign("option".$i, "innerHTML", $ciudades[$i]);
}
return $respuesta->getXML();
}
require("13.common.php");
$xajax->processRequest();
?>
Código PHP:
<?php
require_once("xajax/xajax_core/xajax.inc.php");
$xajax = new xajax("13.server.php");
$xajax->configure('javascript URI','xajax/');
$juego = "iso-8859-1";
$xajax->setCharEncoding($juego);
$xajax->RegisterFunction("actualizaCiudad");
?>