Multiple selects en forma de listas
Como conseguir que request siempre lleve una lista cuando leemos los campos select de los formularios web.
Pongamos por ejemplo que en un formulario web tenemos un campo select con posibilidad de realizar seleccion multiple.
<select name="colores" multiple>
Este campo lo trataremos más tarde con un script.
Pues bien, si el usuario selecciona varios campos al script le llegará una lista, por ejemplo:
request['colores'] ==> ['rojo','azul','verde']
Pero si sólo elige uno le llegará un string:
request['colores'] ==> 'rojo'
Si deseamos que request siempre transporte una lista solo debemos añadir al nombre del select la palabra :list
O sea:
<select name="colores:list" multiple>
Y tendremos:
request['colores'] ==> ['rojo']
<select name="colores" multiple>
Este campo lo trataremos más tarde con un script.
Pues bien, si el usuario selecciona varios campos al script le llegará una lista, por ejemplo:
request['colores'] ==> ['rojo','azul','verde']
Pero si sólo elige uno le llegará un string:
request['colores'] ==> 'rojo'
Si deseamos que request siempre transporte una lista solo debemos añadir al nombre del select la palabra :list
O sea:
<select name="colores:list" multiple>
Y tendremos:
request['colores'] ==> ['rojo']