Tema: xajax 0.5
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2008, 06:53
Avatar de iontxu
iontxu
 
Fecha de Ingreso: marzo-2008
Mensajes: 65
Antigüedad: 16 años, 8 meses
Puntos: 7
xajax 0.5

Hola, tengo un problema, y es que cuando utilizaba la versión anterior de xajax, la 0.2 podía hacer cosas como esta:
Código PHP:
require('xajax/xajax.inc.php');
$xajax = new xajax();

function mostrar(){
 $salida = "hola!";
 $respuesta = new xajaxResponse();  
 $respuesta->addAssign('campo1','innerHTML', $salida);
 return $respuesta;
}
$xajax->registerFunction('mostrar');
$xajax->processRequests();
?>

<html>...
<head><title>...</title>
<?php $xajax->printJavascript('xajax/'); ?>
</head>
<body>
<div id='campo1'></div>
<?php
echo "<p onclick='xajax_mostrar();'>Clickear aquí</p>";
?>
</body>
</html>
Y metía en el 'campo1' el text 'hola!'.

Sin embargo en xajax 0.5, cambiando la nomenclatura y haciendo lo mismo no responde. Sería algo así:

Código PHP:
<?php
require('xajax5/xajax_core/xajax.inc.php'); //ruta relativa al documento
$xajax = new xajax();
$xajax->configure('javascript URI','xajax5/');//ruta relativa al documento

function mostrar(){
 
$salida "hola!";
 
$respuesta = new xajaxResponse();
 
$respuesta->assign('campo1','innerHTML',$salida);
 return 
$objResponse;
}
$mostrar =& $xajax->registerFunction('mostrar');
$xajax->processRequest();
?>
<html>...
<head><title>...</title>
<?php $xajax->printJavascript(); ?>
</head>
<body>
<div id='campo1'></div>

<?php
echo "<p onclick='$mostrar->printScript();'>Clickear aquí</p>";
?>
</body>
</html>
Sin embargo si lo escribo en HTML:
Código PHP:
<p onclick='<?php $mostrar->printScript(); ?>;'>Clickear aquí</p>
Sí que funciona.

Lo cierto es que necesito meter los códigos desde PHP a través de sentencias "echo", y no veo solución...
...a parte de hacerlo con la versión anterior de xajax, pero no creo que esa sea la mejor solución.

A ver si me podéis echar una mano, que ando un poco apurado.
¡Un saludo!