Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Xajax + poo

Estas en el tema de Xajax + poo en el foro de Frameworks JS en Foros del Web. Buenas tardes. Con anterioridad he utilizado Xajax y me ha ido muy muy bien, ningun problema. Pero actualmente quiero utilizar metodos que tengo definidos dentro ...
  #1 (permalink)  
Antiguo 07/05/2009, 16:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 40
Antigüedad: 17 años
Puntos: 0
Xajax + poo

Buenas tardes.

Con anterioridad he utilizado Xajax y me ha ido muy muy bien, ningun problema.

Pero actualmente quiero utilizar metodos que tengo definidos dentro de una clase; después de investigar en el foro oficial de xajax y tratar de reproducir los ejemplos que tienen expuestos me ha sido imposible poder utilizar metodos de una clase.

Les comparto un ejercicio muy sencillo, que unicamente imprime en pantalla un numero introducido en un input, pero que no he podido hacer funcionar.

PD: el firebug me muestra que la funcion no esta definida.


muchas gracias

Código PHP:
<?php
require ('xajax/xajax_core/xajax.inc.php');//Libreria AJAX

class ClasePrueba
{
    public function 
numero($form)
    {
        
$numero $form['numero'];
        
        
$respuesta = new xajaxResponse();

        
$respuesta->assign("tabla","innerHTML",$numero);
        
        return 
$respuesta;
    }
}

$xajax = new xajax(); // Instanciamos el objeto xajax desde el cual accederemos a todos los metodos

$xajax->configure('javascript URI''xajax/'); // En mi caso configuro el path de Xajax, pues mi archivo PHP esta por fuera de la carpeta xajax

$obj = new ClasePrueba();

$xajax->registerFunction(array( 'xajax_request_func'$obj 'xajax_request_func' ) );

$xajax->processRequest();

echo 
'<?xml version="1.0" encoding="UTF-8"?>';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prueba xajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
$xajax
->printJavascript();
?>
</head>
<body>
    <form action="" name="formulario" id="formulario">
    Numero:<input type="text" name="numero" id="numero" />
    <input type="button" value="enviar" onclick="xajax_numero(xajax.getFormValues('formulario'));">
    </form>
    <div id="tabla"></div>
</body>
</html>
  #2 (permalink)  
Antiguo 11/09/2009, 15:18
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Xajax + poo

Código PHP:
<?php
require ('xajax/xajax_core/xajax.inc.php');//Libreria AJAX
$xajax = new xajax(); // Instanciamos el objeto xajax desde el cual accederemos a todos los metodos
class ClasePrueba
{
    public function 
numero($form)
    {
        
$numero $form['numero'];
        
        
$respuesta = new xajaxResponse();

        
$respuesta->assign("tabla","innerHTML",$numero);
        
        return 
$respuesta;
    }
}



$xajax->configure('javascript URI''xajax/'); // En mi caso configuro el path de Xajax, pues mi archivo PHP esta por fuera de la carpeta xajax

$obj = new ClasePrueba();
if ( 
<= version_compare'5.0'PHP_VERSION ) )// para PHP4
    
eval( '$aMethodsTest2 =& $xajax->register(XAJAX_CALLABLE_OBJECT, &$obj);' );
else
    
$aMethodsTest=&$xajax->registerXAJAX_CALLABLE_OBJECT$obj );

$xajax->processRequest();

echo 
'<?xml version="1.0" encoding="UTF-8"?>';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prueba xajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
$xajax
->printJavascript();
?>
</head>
<body>
    <form action="" name="formulario" id="formulario">
    Numero:<input type="text" name="numero" id="numero" />
    <input type="button" value="enviar" onclick="xajax_ClasePrueba.numero(xajax.getFormValues('formulario'));">
    </form>
    <div id="tabla"></div>
</body>
</html>
solo hay que agregar
Código PHP:
if ( <= version_compare'5.0'PHP_VERSION ) )// para PHP4
    
eval( '$aMethodsTest2 =& $xajax->register(XAJAX_CALLABLE_OBJECT, &$obj);' );
else
    
$aMethodsTest=&$xajax->registerXAJAX_CALLABLE_OBJECT$obj ); 
y en el evento onclick colocar xajax_ClasePrueba.numero(xajax.getFormValues('form ulario'));
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:37.