• Domingo 22 de Diciembre de 2024, 18:16

Autor Tema:  Lista De Selección Multiple  (Leído 1181 veces)

painkiller666

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Lista De Selección Multiple
« en: Martes 8 de Mayo de 2007, 11:22 »
0
Hey, tengo el siguiente problema, en una página cargo unos formularios: combo, textarea,check... (según lo datos de la BD:nombre, ancho, alto, máx. de caracteres...) y uno de ellos es una lista o Select de selección multiple. Quiero escribir los valores seleccionados de esa lista en la "siguiente" página, con un simple echo basta. El problema es con javascript, solo me detecta el 1º de los seleccionados, y con php, solo me muestra el último seleccionado. Alquien me puede ayudar? Gracias anticipadas. :hola:

--------------------------------------------------------------------------------

      <script language="javascript">
         
         function Mensaje(frm){
            alert("entró");
            var n;
            n = 0;
            while (n<20){
            alert(frm.elements[n].value);
             if (frm.elements[n][1].value != ""){
               alert(frm.elements[n][1].value);
             }
            n=n+1;
            }
         }
         
      </script>

--------------------------------------------------------------------------------
ASI CREO LA LISTA:

                  case "6"//------------------------------ Lista
                     :{
                        $mm=mysql_query("select * from respuestas where IdCampo = ".$ppp["IdCampo"]." order by Orden");
                     echo " .  ".$ppp["Nombre"].": ";   
                     ?> <select name="<? echo $ppp["Nombre"] ?>" size="<? echo $ppp["Alto"] ?>" <? if ($ppp["SelMul"]==1){echo "multiple";} ?>>
                     <? while ($vlr=mysql_fetch_array($mm)) { ?>
                           <option value="<? echo $vlr["Respuesta"] ?>"<? if ($vlr["Seleccionado"]==1){echo " selected";} ?>><? echo $vlr["Respuesta"] ?></option>
                        <? } ?>  
                          </select><?
                     break;
                       }
--------------------------------------------------------------------------------

Y CON ESTE BUCLE MUESTRO TODOS LOS VALORES DE LA PÁGINA ANTERIOR:

<?
foreach( $_POST as $key => $value ) {
  echo " $key: $value";?><br> <?
}
?>

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Lista De Selección Multiple
« Respuesta #1 en: Martes 8 de Mayo de 2007, 16:58 »
0
Para poder pasar múltiples valores para un mismo campo con html, debes declarar el o los campos como array. Esto se logra poniendo [] al final del atributo name.
Por ejemplo, si quieres que varios inputs sean parte de un mismo valor:

<input name="codigo[]" /><input name="codigo[]" /><input name="codigo[]" />

De esta forma te llegará un array en php $_POST['codigo'] con todos los datos.


En el caso de un select, para que te envíe todos los valores de una selección múltiple, tienes que enviarlo también como un array. En tu caso usa:

<select name="<? echo $ppp["Nombre"] ?>[]" .... />



Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |