Изменение полей WTForm в зависимости от ввода в другие поля формы

Я надеюсь использовать Flask-WTForms для создания формы ввода, поля которой меняются в зависимости от того, что находится в других полях.

Например, скажем, был флажок для «Входной контакт». При нажатии на нее появлялись (или активировались) новые поля для ввода имени и номера контакта.

Возможно ли это с помощью WTForms и Flask? Или мне нужно использовать Javascript?

Большое спасибо, Алекс


person Alex S    schedule 14.01.2015    source источник


Ответы (1)


Это возможно без использования Javascript, но это зависит от пользовательского опыта, который вы хотите получить.

WTForms может взаимодействовать только с данными, поступающими в режиме клиент-сервер, он ничего не делает на стороне браузера сам по себе. Так что если после установки галочки произошел сабмит, то вы отобразили контактную форму, то вполне правдоподобно сделать это без всякого джаваскрипта.

Предостережение заключается в том, что вы должны сделать публикацию формы, эффективно заставив страницу обновиться и загрузиться снова. Положительным моментом является то, что это легко сделать способом, совместимым со всеми браузерами, без использования javascript.

Альтернативой, конечно, является использование javascript (или какой-либо JS-фреймворка, такого как jQuery) для привязки действий, которые происходят, когда этот флажок установлен, в результате чего другие поля становятся видимыми. Это больше соответствует пользовательскому интерфейсу, который люди ожидают от современных приложений для такого действия, но требует дополнительной работы.

person Crast    schedule 18.01.2015