vikkyshostak
@vikkyshostak
< This head full of dreams.

Django + Vue.js. Как лучше организовать форму с мульти шаговым заполнением?

Доброго дня!

Вопрос: как лучше всего организовать пошаговую форму, которую заполняет посетитель сайта? Интересует именно техническая сторона – через Django (с сохранением в сессию шагов) или Vue.js (полностью на клиенте). Может есть юзкейсы или бэст практисы? Просто не могу никак сообразить, как лучше сделать...

Поля формы зависят друг от друга, то есть каждый следующий шаг генерится, исходя из того, что пользователь выбрал в предыдущем. Например, вот такое дерево:

ШАГ 1: Тип визы
1.1. Бизнес
1.2. Туристическая

ШАГ 2: Если Бизнес
2.1. ФИО и прочая общая инфа
2.2. Данные о работе и бизнесе
2.3. Инфа о принимающей стороне
... (ещё 10+ полей, только для бизнес)

ШАГ 2: Если Туристическая
2.1. ФИО и прочая общая инфа
2.2. Название и адрес гостиницы
2.3. Данные о предыдущих тур. визах
... (ещё поля, только для туристических)

ШАГ 3: Выбор способа оплаты (не зависит от предыдущего выбора) и переход на агрегатор для оплаты
ШАГ 4: (редирект с агрегатора) Страница "Спасибо за оплату и бла бла бла"

ADD: Все поля, кроме 2.1, в шаге №2 будут записываться в Postgres в виде JSONField().

Буду рад толковым комментариям. Спасибо.
  • Вопрос задан
  • 746 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Чисто vue решение:
Создаете json файл со списком шагов, полей, описываете в нем логику переходов.
При заходе на страницу, получаете этот файл, парсите, строите поля, прогрессбар и т.д.
Тут надо быть готовым к перезагрузке страницы, и возможно, сохранять промежуточные данные в localstorage например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы