01/10/2008, 01:27
|
| | | Fecha de Ingreso: mayo-2008 Ubicación: Santiago de Compostela
Mensajes: 47
Antigüedad: 16 años, 6 meses Puntos: 0 | |
Respuesta: No recibo nada al enviar el valor de un campo select generado con AJAX soporte_hardware.php (omito el lenguaje html):
<form name="formulario_rma" action="index.php?carga=rma_registrado" method="post" onSubmit="return validar()"/>
<input type="hidden" name="id_cliente" value="<?php echo($id_cliente); ?>">
<select name="tipo" onChange="generar_select(document.formulario_rma.t ipo.options[document.formulario_rma.tipo.selectedIndex].value)">
<option value="999" selected="selected">Seleccione el producto</option>
<?php
require("conexion.php");
$sql_tipo='SELECT * FROM tipo_rma order by id_tipo';
$consulta_tipo = mysql_query($sql_tipo,$conexion) or die(mysql_error());
while ($tipo=mysql_fetch_assoc($consulta_tipo))
{
echo '<option value="'.$tipo['id_tipo'].'">'.$tipo['nombre_tipo'].'</option>';
}
?>
</select>
<div id="select2">
<select size="1" name="modelo" tabindex="8">
<option value="0" selected="selected">Seleccione el tipo</option>
</select>
</div>
</form> cargar_rma.js
function generar_select(id_tipo)
{
var contenedor;
ajax=nuevoAjax();
contenedor=document.getElementById('select2');
if (id_tipo==999)
{
nuevo_select="<select name='modelo'><option value='0'>Elegir tipo</option></select>";
}else
{
ajax.open("GET", "respuesta_rma.php?id_tipo="+id_tipo, true);
}
//escribimos en la capa con id="seleccombinado"
ajax.onreadystatechange=function(){if (ajax.readyState==4) {contenedor.innerHTML = ajax.responseText;}}
ajax.send(null)
} respuesta_rma.php
<?php
$id_tipo = $_GET["id_tipo"];
function select_combinado($id_tipo){
require("conexion.php");
$sql_rma='SELECT id_modelo, nombre_modelo FROM modelo_rma WHERE id_tipo_enlace='.$id_tipo;
$consulta_rma = mysql_query($sql_rma,$conexion) or die(mysql_error());
$nuevo_select='<select size="1" name="modelo" tabindex="8">';
while($rma=mysql_fetch_assoc($consulta_rma))
{
$nuevo_select.='<option value="'.$rma['nombre_modelo'].'" >'.$rma['nombre_modelo'].'</option>';
}
// Liberar memoria usada por consulta.
mysql_free_result($consulta_rma);
$nuevo_select.='</select>';
return $nuevo_select;
}
echo (select_combinado($id_tipo));
?>
Aquí están los códigos del archivo principal donde cargo los select, del archivo javascript que gestiona el ajax, y del archivo php que utiliza el propio ajax.
El problema es que el select generado con ajax no se envía por el método POST, ni por el GET. Es como si ahí no hubiera nada |