Я разрабатываю продукт для рынка психологии, который проводит 250 вопросов психологического тестирования. Чтобы сделать тест не слишком сложным, я разбил форму на 25 сегментов вопросов, одновременно выводя ее в цикле через теги div с добавленным последовательным идентификатором (т. Е. Div1, div2, div3). Каждый div установлен для отображения: никто, кроме первого.
Затем я предоставляю пользователю кнопку, которая переключает текущий div + 1 (т. Е. Если бы он был на div 1, он делал бы $(#div2).show()
и т. Д. Кнопки Назад делают противоположное.
Важной частью является то, что форма охватывает ВСЕ div. Тогда нужно просто поменять кнопку «вперед / назад» в конце кнопкой «Отправить».
Вуаля! Да, хай-тек. Но БЫСТРО .... и нет шансов НИКОГДА потерять значения, идущие вперед или назад.
Итак, грубый усеченный пример:
<form>
<div id="div1">
First 25 Questions
<input type="button">shows next div</input>
</div>
<div id="div2" style="display:none">
Second 25 Questions
<input type="submit">Submit Form</input>
</div>
</form>