Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2011, 02:43
antonioortizyuste
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 10 años, 10 meses
Puntos: 0
Problema con Xajax: no hace nada

Buenos días:

Os adjunto el siguiente código (parte de todo el código de la página que interesa).

Lo que tiene que hacer es según el valor del campo "campana" consultando en la BBDD los campos fecha_inicio y dias_validacion para esa "campana", tiene que aparecer en un select los días en los que puede empezar su curso para que seleccione uno de ellos.
Este combobox es el que tiene ir por ajax.

El problema es que no hace absolutamente nada, es como si no se ejecutara.
Lo tenéis colgado en: http://www.cursodirecto.com/formacionparticulares/cupones/index2.php

¿Alguien sabe a qué puede deberse?

<?php

//incluímos la clase ajax
require ('xajax/xajax_core/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);

function select_combinado($campana){

//Extraemos de la campaña con ese nombre y activa en la BBDD la fecha de inicio de la campaña y los días para validar (fecha_inicio y dias_validar)
$connection = databaseConnect();
$consulta = mysql_query("SELECT fecha_inicio, dias_validar FROM campanas WHERE activa = 1 AND campana = '" . $campana . "'");
databaseClose($connection);

while($registro = mysql_fetch_row($consulta)) //Extraemos de la consulta la fecha de inicio y los días para validar
{
$fecha_inicio = $registro[0];
$dias = $registro[1];
if($dias < 10) { $dias = substr($dias, 1, 2); } //Quitamos el 0 a los días si es menor de 10
}


$finicio = $fecha_inicio.split('-');
$diainicio = $finicio[2]; //Nos quedamos con el día del mes
if($finicio[1] < 10) { $mesinicio = substr($finicio[1], 1, 2); } else { $mesinicio = $finicio[1]; } ////Nos quedamos con el mes de inicio
$mesarray = array(
1=>"Enero",
2=>"Febrero",
3=>"Marzo",
4=>"Abril",
5=>"Mayo",
6>"Junio",
7=>"Julio",
8=>"Agosto",
9=>"Septiembre",
10=>"Octubre",
11=>"Noviembre",
12=>"Diciembre"); //Array con los meses y su equivalencia en números

$mesdias = array( //Comprobamos cuántos días tiene ese mes
1=>31,
2=>28,
3=>31,
4=>30,
5=>31,
6>30,
7=>31,
8=>31,
9=>30,
10=>31,
11=>30,
12=>31); //Array con los meses y su equivalencia en números

//creo las distintas opciones del select
$nuevo_select = "<select name='finicio'>";


$diames = 0;
$x = 0; $mesact = 0;
if($dias <= 31) //Si para validar hay un mes
{
for ($i=1; $i<=$dias; $i++)
{
if($diames == $mesdias[$mesinicio]) //Si hemos llegado ya al día 31 ponemos $diainicio a 0
{
$x = 1; $mesact = 1; $diainicio = 0;
}

$diames = $diainicio + $x;
$x++;
$fechainicio = $diames . ' de ' . $mesarray[$mesinicio + $mesact];
$nuevo_select .= '<option value="' . $i . '">' . $fechainicio . '</option>';
}
$nuevo_select .= "</select>";
}

return $nuevo_select;
}

function generar_select($campana){

//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse('ISO-8859-1');
$nuevo_select = select_combinado($campana);

//escribimos en la capa con id="seleccombinado"
$respuesta->addAssign("seleccombinado","innerHTML",$nuevo_sel ect);

//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}

//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("generar_select");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest(); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="es"><head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="SHORTCUT ICON" href="http://www.formacionparticulares.com/imagenes/favicon.ico">
<title>Formacionparticulares - Canjea tu cupón</title>
<?php
$xajax->configure('javascript URI', 'xajax/');
$xajax->printJavascript();
?>
</head>

<body>
<div class="wrapperBgr">&nbsp;</div>
<div id="wrapper" class="web">
<div class="wrapperLeft">&nbsp;</div>
<div class="wrapperRight">&nbsp;</div>
<div id="main" class="Inicio">
<div id="content">
<div class="two-col">
<div class="centerColumn">

<div id="formvalidacupon">
<h1>Valide su cup&oacute;n</h1>
<p>Rellene los campos con sus datos (los campos con * son obligatorios):</p>
<span id="errorescupon"><? echo $message; ?></span>
<form id="formulario" name="formulario" action="" method="post">
<label for="ncupon">N&uacute;mero cup&oacute;n (*): </label><input id="ncupon" type="text" name="ncupon" value="<?php echo isset($formData['ncupon']) ? $formData['ncupon'] : '' ?>"><br /><br />
<label for="nvalidacion">N&uacute;mero validaci&oacute;n (*): </label><input id="nvalidacion" type="text" name="nvalidacion" value="<?php echo isset($formData['nvalidacion']) ? $formData['nvalidacion'] : '' ?>"><br /><br />
<label for="idcampana">Curso (*): </label>
<select id="idcampana" name="idcampana" onchange="setElementAsActive('web',true);generar_s elect(document.formulario.idcampana.options[document.formulario.idcampana.selectedIndex].value)">
<option value="0">Selecciona un curso...</option>
<?php
$cursos = $campanasAndWeb['campanas'];
foreach ($cursos as $curso) {
echo "<option value='".$curso['idcampana']."'";
if (isset($formData['idcampana']) && $curso['idcampana'] == $formData['idcampana']) {
echo ' selected ';
}
echo ">".utf8_encode($curso['name'])."</option>";
}
?>
</select><br><br>
<label for="web">Web (*): </label>
<select id="web" name="web">
<option value="0">Selecciona una web...</option>
<?php
getWebs();
?>
</select><br><br>
<label for="dni">DNI (*): </label><input id="dni" type="text" name="dni" value="<?php echo isset($formData['dni']) ? $formData['dni'] : '' ?>"><br /><br />
<label for="nombre">Nombre (*): </label><input id="nombre" type="text" name="nombre" value="<?php echo isset($formData['nombre']) ? $formData['nombre'] : '' ?>"><br /><br />
<label for="apellidos">Apellidos (*): </label><input id="apellidos" type="text" name="apellidos" value="<?php echo isset($formData['apellidos']) ? $formData['apellidos'] : '' ?>"><br /><br />
<label for="telefono">Tel&eacute;fono (*): </label><input id="telefono" type="text" name="telefono" value="<?php echo isset($formData['telefono']) ? $formData['telefono'] : '' ?>"><br /><br />
<label for="movil">M&oacute;vil (*): </label><input id="movil" type="text" name="movil" value="<?php echo isset($formData['movil']) ? $formData['movil'] : '' ?>"><br /><br />
<label for="email">Email (*): </label><input type="text" id="email" name="email" value="<?php echo isset($formData['email']) ? $formData['email'] : '' ?>"><br /><br />
<label for="direccion">Direcci&oacute;n: </label><input id="direccion" type="text" name="direccion" value="<?php echo isset($formData['direccion']) ? $formData['direccion'] : '' ?>"><br /><br />
<label for="cp">CP: </label><input type="text" id="cp" name="cp" value="<?php echo isset($formData['cp']) ? $formData['cp'] : '' ?>"><br /><br />
<label for="poblacion">Poblaci&oacute;n: </label><input id="poblacion" type="text" name="poblacion" value="<?php echo isset($formData['poblacion']) ? $formData['poblacion'] : '' ?>"><br /><br />
<label for="provincia">Provincia: </label><input type="text" id="provincia" name="provincia" value="<?php echo isset($formData['provincia']) ? $formData['provincia'] : '' ?>"><br /><br />
<label for="pais">Pa&iacute;s: </label><input type="text" id="pais" name="pais" value="<?php echo isset($formData['pais']) ? $formData['pais'] : '' ?>"><br /><br />
<label for="web">Fecha inicio: </label>
<div id="seleccombinado"><select id="finicio" name="finicio"><option value=0>Elegir fecha de inicio del curso</option> </select></div><br /><br />
<input type="checkbox" id="checkpromocion" name="promociones" id="promociones" checked><span id="spanpromocion">Acepto recibir informaci&oacute;n de cursos y ofertas de formacionparticulares</span><br /><br />
<input type="submit" value="Validar" id="validar" >
</form>