Bueno antes aclarar que estoy empezando con esto del Ajax.
Me he bajado de la página de Soundforge el archivo:
xajax_0.5_beta_4b_Full.zip
Mi intención es aprender las aplicaciones de ajax con php.
Los ficheros descomprimidos los instalé en el directorio:
C:\AppServ\xajax
para que funcionen con el servidor apache.
He probado un archivo de casilla de verificación cuyo código es el siguiente:
Código PHP:
<?
//incluímos la clase ajax
require ('..\..\xajax\xajax_core\xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
function si_no($entrada){
if ($entrada=="true"){
$salida = "Marcado";
}else{
$salida = "No marcado";
}
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse();
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
$respuesta->addAssign("respuesta","innerHTML",$salida);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("si_no");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
Código HTML:
<html> <head> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>Si / No en Ajax</title> <? //En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario $xajax->printJavascript("xajax/"); ?> </head> <body> <div id="respuesta"></div> <form name="formulario"> <input type="checkbox" name="si" value="1" onChange="xajax_si_no(document.formulario.si.checked)"> </form> <script type="text/javascript"> xajax_si_no(document.formulario.si.checked); //Llamando inicialmente a la función xajax_si_no inicializamos el valor de la capa con la respuesta </script> </body> </html>
Al ejecutarlo me da el siguiente error:
Fatal error: Call to undefined method xajax::processRequests() in C:\AppServ\www\ejerciciosajax\casillaverificacion. php on line 28
Agradezco cualquier ayuda.
Saludos,
Lyra