Ich habe eine Mehrfachauswahl in html-Datei wie folgt:Zugang Multiselect Formularfeld in Flask
<select multiple id="mymultiselect" name="mymultiselect">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
Wenn ich auf das mymultiselect Feld in Kolben/Python über:
request.form['mymultiselect']
oder durch die Anforderung mit .args.get-Funktion gibt nur einen ausgewählten Artikel zurück. Ich habe gelernt, dass alle ausgewählten Elemente zu bekommen ich hinzufügen müssen [] auf den Namen des Feldes, etwa so:
<select multiple id="mymultiselect" name="mymultiselect[]">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
ich durch Anzeigen der Post-Daten in Firebug sehen, dass dies funktioniert, aber Wenn ich versuche, auf dieses Feld in flask/python zuzugreifen, kommt es als null oder None zurück.
Wie greifen Sie auf diese Multiselect-Formularfelder zu, die am Ende ihres Namens "[]" haben? Ich habe versucht, "[]" an den Feldnamen im Python-Code anzufügen, aber das scheint nicht zu funktionieren.
Danke für die Hilfe. Ich wusste, dass ich etwas falsch mache, immer noch neu in Flasch ... – kj4ohh
Das hat mich unglaublich lange gebraucht - es ist noch nicht einmal klar, dass Flask das Problem ist, erst als ich PHP '' [] 'gefunden habe, dachte ich suche speziell nach Python/Flask. Eine Idee, warum 'Get' die Liste nicht zurückgibt? Ich kann in diesem Verhalten überhaupt keine Erwünschtheit sehen ... Es ist besonders merkwürdig, da 'get' das erste Element zurückgibt. Gah. – OJFord
Was ist, wenn es nur ein Element gibt? Wann sollte eine Liste und wann ein einzelner Wert zurückgegeben werden? Die API ist hier explizit; 'get' gibt immer einen Wert zurück. 'getlist' gibt immer eine Liste zurück. –