Estoy probando la libreria xajax, para usar ajax con php, y en la prueba que estoy haciendo, necesito una variable global, pero resutla que no se almacena el valor en la variable desde la funcion..
Utilizo radiobuttons, por eso necesito la variable global, para saber cual tengo pinchado...
Código PHP:
<?
require ('xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
$valor1 = 1;
$xajax->configure('javascript URI', 'xajax/');
function DarValor($val)
{
global $valor1;
$valor1 = $val;
$objResponse = new xajaxResponse();
$objResponse->assign('pruebas', 'innerHTML', $valor1);
return $objResponse;
}
function Encuesta($Encuesta)
{
global $valor1;
if ($valor1==0){
$text = "Malo";
}else{
if ($valor1==1) {
$text = "Bueno";
}else{
if ($valor1==2)
$text = "Muy Bueno";
else
$text = "Ninguno";
}
}
$objResponse = new xajaxResponse();
$objResponse->assign('mensaje', 'innerHTML', $text);
return $objResponse;
}
//Registramos la funcion a usar.
$xajax->registerFunction('Encuesta');
$xajax->registerFunction('DarValor');
$xajax->processRequest();
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>xajax example</title>
<?php
// output the xajax javascript. This must be called between the head tags
$xajax->printJavascript();
?>
</head>
<body style="text-align:center;">
Selecciona esto.
<br>
<br>
<br>
<br>
<form name="formulario1">
<input type="radio" name="group1" value="0" onclick='xajax_DarValor(0)'> Malo<br>
<input type="radio" name="group1" value="1" checked onclick='xajax_DarValor(1)'> Bueno<br>
<input type="radio" name="group1" value="2" onclick='xajax_DarValor(2)'> Muy Bueno
</form>
<button onclick='xajax_Encuesta(0)'>Votar</button>
<br>
<div id="mensaje"> </div>
<div id="pruebas"> </div>
</body>
</html>