Используя jQuery для хранения состояния сложной формы

У меня есть довольно сложная форма со многими "шагами" в нем, которые заполнены в пользователем. Некоторые шаги (думают о них как о сегментах формы) имеют опции по умолчанию, но при нажатии на "enter custom values", они отображают к настоящему документу скрытый набор полей, в которые пользователь может ввести информацию. Вот пример

Mode A Mode B Choose one of the above for applying average coefficient values of "a" or "b" to 100% of your product or enter custom values
%a: coeff. a %b: coeff. b Enter custom values above or choose average values

Существуют несколько таких сегментов, например, #s1.. #s7. Вот моя задача. Я хочу позволить пользователю сохранить состояние формы. Так, после того как пользователь заполнил всю форму, выбрав средние значения по умолчанию для некоторых сегментов, и введя пользовательские значения для другого, пользователь может нажать кнопку и сохранить все состояние для размораживания позже. Я думаю, если я могу сохранить состояние в объекте, который я могу сериализировать, я могу сохранить его в таблице базы данных или некотором другом персистентном устройстве хранения данных.

Пользователь может возвратиться в более позднее время и восстановить всю предыдущую сессию.

Как я делаю это? Существует getAttributes сменный http://plugins.jquery.com/project/getAttributes, и существует jQuery, сериализируют метод, но я не могу ни за что в жизни начать. Пошагово переместите меня в правильном направлении.

19
задан punkish 8 August 2010 в 00:30
поделиться

2 ответа

Вы можете просто поместить данные, которые не являются данными по умолчанию, в json, а затем отправить их через почтовый запрос на сервер для сохранения.

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

Сохранение значений по умолчанию - это пустая трата полосы пропускания, поскольку вы все равно не измените его форму, которая была на момент загрузки.

ОБНОВЛЕНИЕ:

Чтобы сохранить его как JSON, я думаю, было бы достаточно легко просто собрать его в длинную строку, так как формат прост, поэтому вы просто отправите все как одну строку.

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

0
ответ дан 30 November 2019 в 04:33
поделиться

Полагаю, вы ищете .serialize(), который сериализует данные формы. Для этого ваши элементы input должны находиться внутри тега form, а также все они должны иметь атрибуты name.

var form1data = $('#form1').serialize();

alert(form1data);
0
ответ дан 30 November 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: