私はこのようにhtmlファイルに複数選択があります:
<select multiple id="mymultiselect" name="mymultiselect">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
私がフラスコ/ Pythonのmymultiselectフィールドにアクセスすると:
request.form['mymultiselect']
または、request.args.get関数を使用して、選択された1つのアイテムのみを返します。選択したすべてのアイテムを取得するには、次のように[]をフィールドの名前に追加する必要があることを学びました。
<select multiple id="mymultiselect" name="mymultiselect[]">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
Firebugで投稿データを表示すると、これが機能していることがわかりますが、フラスコ/ Pythonでこのフィールドにアクセスしようとすると、いつでもnullまたはNoneが返されます。
名前の最後に「[]」が付いているこれらの複数選択フォームフィールドにどのようにアクセスしますか?Pythonコードのフィールド名に「[]」を追加してみましたが、うまくいきません。
getlist()
関数を使用して値のリストを取得します。
multiselect = request.form.getlist('mymultiselect')
これを機能させるために名前に追加する必要はありません[]
。実際、これ[]
は役に立ちません。まったく使用しないでください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加