Форум сайта python.su
Здравствуйте, уважаемые форумчане. Я использую python 2.7.3 и одну из последних версий flask.
Мне потребовалось сгенерировать форму чекбоксов. Форма генерируется циклом на основании данных, полученных из бд, поэтому все выбранные чекбоксы я хотел бы получить в массиве. Попробовал реализовать следующим образом:
<form> {% for option in options %} <input type="checkbox" name="options[]" value="{{ option[0] }}"> {{ option[0] }}<br> {% endfor %} <input type="submit"> </form>
http://127.0.0.1:5000/response?options[]=val1&options[]=val2
Отредактировано artifact (Окт. 4, 2013 16:16:05)
Офлайн
Что раньше ответа?
Конкретно, что в HTML?
До того, как сабмитить форму, посмотри исходный код формы, что там?
В хроме: правая мышка—-просмотр кода страницы.
Или правая мышка — Проверить элемент.
Офлайн
FishHook, такой код
<form> <input type="checkbox" name="options[]" value="val1"> val1<br> <input type="checkbox" name="options[]" value="val2"> val2<br> <input type="submit"> </form>
Офлайн
Ну и чего Вы хотите? Ответ адекватен запросу.
Здесь, для каждого Вашего нейма свой валюй
Какое поведение Вы ожидаете?response?options[]=val1&options[]=val2
Отредактировано FishHook (Окт. 4, 2013 19:24:41)
Офлайн
FishHook
Я ожидаю ответ примерно такой формы
response?options=['val1', 'val2']
Офлайн
Вы прям в Гете хотите это увидеть?
нет? Во фласке где то был метод getlist или аналогичный, в любом случае курите мануал уже!
Офлайн
FishHook, форму я создаю правильно и иначе массивы не создаются, да?
Офлайн
Совершенно не важно, КАК Вы создаёте форму, Если без фласка
интересно как эта форма будет выглядеть в разметке,
вот тут Вы это видите.
Плевать как это получилось.
Вопрос в том, чего Вы собственно, хотели?
Офлайн
artifactтакая фишка работает только в PHP, то есть содается переменная массива и туда складываются значенияname="options[]"
options = request.GET.getall('options[]')
Отредактировано bismigalis (Окт. 4, 2013 20:13:47)
Офлайн
Всем большое спасибо, разобрался. Во flask это делается так
options = request.args.getlist('options[]')
Офлайн