Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/04/2010, 12:21
daniclas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Modificar Variables Globales XAJAX

Hola,
Aprovecho este post para un problemita.
Resulta que tengo una función xajax que como salida entre otras cosas entraga un botón que al oprimirse debe volver a ejecutar la función (recursiva).
La primera ejecución la hace sin problemas ya que la orden viene desde afuera, pero no logro que se ejectute viniendo de la orden botón que ella misma generó.
Aquí les dejo el código para mejor entendimiento.
Si es posible mandar respuesta a [email protected] ya que aquí estoy aprovechando la respuesta para un post para exponer mi duda.
Muchas gracias.

Declaración y funciones XAJAX
<?php
require_once "xajax/xajax.inc.php";
require_once "clases/anunciantes.inc.php";
require_once "clases/tiposempresas.inc.php";
require_once "clases/TemplatePower.inc.php";
require_once "clases/fecha.inc.php";

$xajax = new xajax();
$xajax->setCharEncoding("ISO-8859-1");

$cantidad_anunciantes=Anunciante::cantidadresumenP referentes();
$primer_anunciante_amostrar=1;
$cantidad_anunciantes_amostrar=2;

function mostrar_adelante(){
global $cantidad_anunciantes,$primer_anunciante_amostrar, $cantidad_anunciantes_amostrar;
$respuesta= new xajaxResponse();
$primer_anunciante_amostrar+=$cantidad_anunciantes _amostrar;
$msg="$cantidad_anunciantes_amostrar&nbsp;$primer_ anunciante_amostrar";
$msg.=openTabla100(0).TR().TD();
$anunciantes = Anunciante::resumenPreferentes(); // el parámetro indica el tipo de empresa a filtar para mostrar
$i=1;
$j=1;
$msg.=openTabla100(0).TR().TD();
$msg.=openTabla100(0).TR().TDP(30,"center");
$msg.="<img src=\"Imagenes/creativos/oferta6.gif\" width=\"80\" height=\"80\">".nTD().TDP(70)."<span class=\"Estilo35\">".Tcol(3,"#cc0000").
"<strong>Ofertas especiales del mes para vuelos, hoteles y alquiler de coches.</strong>";
$msg.=nTD().nTR().closeTabla();
foreach($anunciantes as $idanunciante=>$anunciante) {
if ($j >= $primer_anunciante_amostrar){
$msg.=openTabla100(0);
$msg.=TR();
$msg.=TD();
$msg.="<span class=\"Estilo38\"><a href=lanzadera.php?$anunciante[13]&id=$idanunciante>$anunciante[0]</a>";
$msg.="<br><span class=\"Estilo38\">$anunciante[1]";
$msg.="<br><a href=lanzadera.php?$anunciante[13]&id=$idanunciante><strong><span class=\"Estilo40\">$anunciante[13]</strong></a>";
$msg.=nTD().nTR();
$msg.=closeTabla();
$i++;
if ($i > $cantidad_anunciantes_amostrar)
break;
}
$j++;
if ($j > $cantidad_anunciantes)
break;
}
$msg.=openTabla100(0).TR().TD("","right");
$msg.="<input type=\"button\" name=\"moving\" value=\"<\" onclick=\"xajax_mostrar_atras();\">";
//$msg.="<a href=\"javascript:xajax_mostrar_atras()\"><</a>";
if ($j < $cantidad_anunciantes)
$msg.="<input type=\"button\" name=\"moving\" value=\">\" onclick=\"xajax_mostrar_adelante();\">";
//$msg.="<a href=\"javascript:xajax_mostrar_adelante()\">></a>";
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();

$respuesta->addAssign("anunciantes","innerHTML",$msg);
return $respuesta;
}

function mostrar_atras($mensaje){
global $cantidad_anunciantes,$primer_anunciante_amostrar, $cantidad_anunciantes_amostrar;
$respuesta= new xajaxResponse();
$primer_anunciante_amostrar-=$cantidad_anunciantes_amostrar;
$msg="";
$msg.=openTabla100(0).TR().TD();
$anunciantes = Anunciante::resumenPreferentes(); // el parámetro indica el tipo de empresa a filtar para mostrar
$i=1;
$j=1;
$msg.=openTabla100(0).TR().TD();
$msg.=openTabla100(0).TR().TDP(30,"center");
$msg.="<img src=\"Imagenes/creativos/oferta6.gif\" width=\"80\" height=\"80\">".nTD().TDP(70)."<span class=\"Estilo35\">".Tcol(3,"#cc0000").
"<strong>Ofertas especiales del mes para vuelos, hoteles y alquiler de coches.</strong>";
$msg.=nTD().nTR().closeTabla();
foreach($anunciantes as $idanunciante=>$anunciante) {
if ($j >= $primer_anunciante_amostrar){
$msg.=openTabla100(0);
$msg.=TR();
$msg.=TD();
$msg.="<span class=\"Estilo38\"><a href=lanzadera.php?$anunciante[13]&id=$idanunciante>$anunciante[0]</a>";
//$msg.=openTabla(0).TR().TD(0,"center").TCol(4,"bla ck")."<a href=\"$anunciante[11]\" target=\"_blank\"><strong>$anunciante[0]</strong></a>:".nTD().nTR().closeTabla();
$msg.="<br><span class=\"Estilo38\">$anunciante[1]";
$msg.="<br><a href=lanzadera.php?$anunciante[13]&id=$idanunciante><strong><span class=\"Estilo40\">$anunciante[13]</strong></a>";
$msg.=nTD().nTR();
$msg.=closeTabla();
$i++;
if ($i > $cantidad_anunciantes_amostrar)
break;
}
$j++;
if ($j > $cantidad_anunciantes)
break;
}
$msg.=openTabla100(0).TR().TD("","right");
if ($primer_anunciante_amostrar <> 1)
$msg.="<input type=\"button\" name=\"moving\" value=\"<\" onclick=\"xajax_mostrar_atras();\">";
$msg.="<input type=\"button\" name=\"moving\" value=\">\" onclick=\"xajax_mostrar_adelante();\">";
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();

$respuesta->addAssign("anunciantes","innerHTML",$msg);
return $respuesta;
}

$xajax->registerFunction("mostrar_adelante");
$xajax->registerFunction("mostrar_atras");
$xajax->processRequests();

function createDiv($nombreId="",$contenido="") {
echo "<div id=\"$nombreId\">$contenido</div>\r\n";
}
?>
<head>
<?php
$xajax->printJavascript("xajax/");
?>
</head>


Script de donde ejecuto las funciones por primera vez

<?php

$msg="";
$msg.=openTabla100(0).TR().TD("","right");
$msg.="<input type=\"button\" name=\"moving\" value=\"<\" onclick=\"xajax_mostrar_atras();\">";
$msg.="<input type=\"button\" name=\"moving\" value=\">\" onclick=\"xajax_mostrar_adelante();\">";
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();
$msg.=nTD().nTR().closeTabla();

createDiv("anunciantes",$msg);
?>

Cuando oprimo el botón ">" la primera vez se ejecuta muy bién pero el botón que genera la función que debe permitir ejecutarlo otra vez es como si no funcionara.