Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/10/2008, 09:48
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No recibo nada al enviar el valor de un campo select generado con AJAX

Supongamos que respuesta_rma.php en lugar de devolver lo que tienes ahora, devuelve algo como:
Código 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='';

    while(
$rma=mysql_fetch_assoc($consulta_rma)) {
        
$nuevo_select .= $rma['nombre_modelo'].'/';
    }
    
mysql_free_result($consulta_rma);
    
$nuevo_select=substr($nuevo_select,0,-1);
    return 
$nuevo_select;
}
echo (
select_combinado($id_tipo));
?>
Eso hace que el ajax.responseText sea algo como "uno/otro/otro más". Así que en el onreadystatechange, lo que haces es usar eso para construir objetos Option y meterlos en el select.

Código javascript:
Ver original
  1. //...
  2. ajax.onreadystatechange = function(){
  3.     if (ajax.readyState==4) {
  4.         array_de_modelos = ajax.responseText.split("/");
  5.         modeloSelectOptions = document.getElementById("modelo").options;
  6.         for (var i= 0;i<array_de_modelos.length; i++) {
  7.             modeloSelectOptions[modeloSelectOptions.length] = new Option(array_de_modelos[i]);
  8.         }
  9.     }
  10. }
  11. //...

Eso suponiendo que al <select size="1" name="modelo" tabindex="8"> le pones un id="modelo", claro. Y que revisas el código porque lo he escrito así sin pensar y podría tener errores.

Última edición por venkman; 03/10/2008 a las 09:53