AJAX - Paso de parámetros con Xajax

 
Vista:

Paso de parámetros con Xajax

Publicado por Ivonne (4 intervenciones) el 06/11/2007 14:02:46
Hola tengo un problema con Xajax y mozilla, busqué como realizar menus desplegables combinados con Xajax y me funciona a la perfección, pero he aquí el problema.
TEngo dos menús uno para área y otro de disciplina que depende del área, es decir si cambio el área se cambian las disciplina, cuando voy a la página php que me cargue los datos en la base de datos si es explorer tiene todos los parámetros y los puede cargar, pero si es mozilla solo lleva el id del área y no la disciplina.
Alguien me puede decir como solucionar este problema?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Paso de parámetros con Xajax

Publicado por weirdmix (45 intervenciones) el 06/11/2007 19:38:40
pon el codigo q utilizas tanto en la parte de javascript como en la parte de php para ver q esta pasando...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paso de parámetros con Xajax

Publicado por Ivonne (4 intervenciones) el 07/11/2007 13:01:32
Aqui les mando el codigo que hace uso de xajax :

<tr height="30">
<td width="60">Area: </td>
<td width="220">
<?
// Llamar función Consulta_BD
$resultado=Consulta_BD('SELECT * FROM "area"');
print("<select name=id_area onchange=xajax_generar_select(id_area.value)>");
print("<option value='0'>Elegir area</option>");
while ($Row = pg_fetch_array($resultado, null, PGSQL_ASSOC))
{print("<option value='$Row[id_area]'> $Row[area]");} ?>
</option></select>
</td>
<td width="60">Disciplina: </td>
<td id="seleccombinado" >
<select name="id_disciplina">
<option value=0>Elegir disciplina</option>
</select>
</td>
</tr>

Y el archivo donde se encuentra el generar select, pero toda las demas conexiones las realiza una librería que baje de la web:

<?
//incluímos la clase ajax
require ('xajax/xajax.inc.php');
require('funciones.php');
// Llamar función Conecta_BD
$Conexion=Conecta_BD();
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();

function select_combinado($id_area){
//función para crear el select combinado
//debe extraer las opciones de un select a partir de un parámetro
//estos valores en un caso práctico seguramente se extraerán de base de datos
$resultado1=Consulta_BD("SELECT * FROM disciplina WHERE id_area='$id_area'");
//creo las distintas opciones del select
$nuevo_select ="<select name='id_disciplina'>";
while ($Row = pg_fetch_array($resultado1, null, PGSQL_ASSOC))
{$nuevo_select .= "<option value=" . $Row[id_discipli] . ">" . $Row[discipli] . "</option>";}
$nuevo_select .= "</select>";
return $nuevo_select;
}
function generar_select($id_area){
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse('ISO-8859-1');
if ($id_area==0){
//escribimos el select de disciplinas vacío
$nuevo_select = "<select name='id_disciplina'><option value=0>Elegir disciplina</option></select>";
}else{
$nuevo_select = select_combinado($id_area);
}
//escribimos en la capa con id="seleccombinado"
$respuesta->addAssign("seleccombinado","innerHTML",$nuevo_select);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta->getXML();;
}
//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("generar_select");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
Espero me puedan ayudar gracias por su colaboracion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paso de parámetros con Xajax

Publicado por Ivonne (4 intervenciones) el 07/11/2007 14:35:28
Aqui les mando el codigo que hace uso de xajax :

<tr height="30">
<td width="60">Area: </td>
<td width="220">
<?
// Llamar función Consulta_BD
$resultado=Consulta_BD('SELECT * FROM "area"');
print("<select name=id_area onchange=xajax_generar_select(id_area.value)>");
print("<option value='0'>Elegir area</option>");
while ($Row = pg_fetch_array($resultado, null, PGSQL_ASSOC))
{print("<option value='$Row[id_area]'> $Row[area]");} ?>
</option></select>
</td>
<td width="60">Disciplina: </td>
<td id="seleccombinado" >
<select name="id_disciplina">
<option value=0>Elegir disciplina</option>
</select>
</td>
</tr>

Y el archivo donde se encuentra el generar select, pero toda las demas conexiones las realiza una librería que baje de la web:

<?
//incluímos la clase ajax
require ('xajax/xajax.inc.php');
require('funciones.php');
// Llamar función Conecta_BD
$Conexion=Conecta_BD();
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();

function select_combinado($id_area){
//función para crear el select combinado
//debe extraer las opciones de un select a partir de un parámetro
//estos valores en un caso práctico seguramente se extraerán de base de datos
$resultado1=Consulta_BD("SELECT * FROM disciplina WHERE id_area='$id_area'");
//creo las distintas opciones del select
$nuevo_select ="<select name='id_disciplina'>";
while ($Row = pg_fetch_array($resultado1, null, PGSQL_ASSOC))
{$nuevo_select .= "<option value=" . $Row[id_discipli] . ">" . $Row[discipli] . "</option>";}
$nuevo_select .= "</select>";
return $nuevo_select;
}
function generar_select($id_area){
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse('ISO-8859-1');
if ($id_area==0){
//escribimos el select de disciplinas vacío
$nuevo_select = "<select name='id_disciplina'><option value=0>Elegir disciplina</option></select>";
}else{
$nuevo_select = select_combinado($id_area);
}
//escribimos en la capa con id="seleccombinado"
$respuesta->addAssign("seleccombinado","innerHTML",$nuevo_select);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta->getXML();;
}
//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("generar_select");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
Espero me puedan ayudar gracias por su colaboracion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paso de parámetros con Xajax

Publicado por elnegro (1 intervención) el 26/12/2007 15:06:16
jajajajajaja esto lo sacaste de: www.desarrolloweb.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar