Accesso Multiselect Campo Modulo in Pallone

Ho un multiselect nel file html come questo:

<select multiple id="mymultiselect" name="mymultiselect">         
        <option value="1">this</option>       
        <option value="2">that</option>       
        <option value="3">other thing</option>
</select>

Quando ho accesso il mymultiselect campo nel pallone/python via:

request.form['mymultiselect']

o mediante la richiesta.args.ottenere la funzione restituisce solo di un elemento selezionato. Ho imparato che per ottenere tutti gli elementi selezionati devo aggiungere [] per il nome del campo, in questo modo:

<select multiple id="mymultiselect" name="mymultiselect[]">       
        <option value="1">this</option>       
        <option value="2">that</option>       
        <option value="3">other thing</option>
</select>

Sono in grado di vedere la visualizzazione di dati post in firebug che questo è il lavoro, ma io ogni volta cerco di accedere a questo campo, in matraccio/python torna come null o Nessuno.

Come hai accesso a questi multiselect campi del modulo che sono “[]” alla fine del loro nome? Ho provato aggiungendo “[]” per il nome del campo nel codice python, come pure, ma che non sembra funzionare.

InformationsquelleAutor kj4ohh | 2012-09-19

 

One Reply
  1. 58

    Si desidera utilizzare il getlist() funzione per ottenere un elenco di valori:

    multiselect = request.form.getlist('mymultiselect')

    Fare non bisogno di aggiungere [] il nome a fare questo lavoro; infatti, il [] non aiuta, non lo uso affatto.

    • Grazie per l’aiuto. Sapevo che stavo facendo qualcosa di sbagliato, ancora nuovo a pallone…
    • Questo mi ha portato incredibilmente lungo per trovare il debug questo non è nemmeno chiaro che il Pallone è il problema, è solo quando ho trovato PHP [] che ho pensato per la ricerca Python/Pallone in modo specifico. Qualche idea del perché get non restituisce l’elenco? Non vedo alcuna opportunità in questo comportamento a tutti… È particolarmente strano come get restituisce il primo elemento. Gah.
    • Così che cosa se c’è un solo elemento? Quando dovrebbe get restituire una lista e quando un singolo valore? L’API è esplicito qui; get restituisce un valore, sempre. getlist restituisce un elenco,sempre.
    • Questo è grande, ho lottato con ottenere indietro tutti i listbox elementi e stava Nessuno.

Lascia un commento