У меня есть текстовый ввод, и когда пользователь нажимает на кнопку ввода клона jQuery и делает другой.
$(document).ready(function(){
$('.add').click(function(event){
var predmet = $('input.clear:last');
$('div.clear').before(predmet.clone().val('').slideToggle( "fast" ));
$('div.clear').before(predmet.next().clone().val(0));
event.preventDefault();
});
Теперь, мой вопрос: как я могу сохранить формы ввода в хранилище cookie или html5 (что лучше?). Я хочу, чтобы при обновлении страницы появлялся клонированный ввод текста, который ранее был сохранен с помощью файла cookie или html5. Благодарю!
Вы можете создать массив объектов, которые можно сохранить в localStorage с помощью JSON.stringify()
во время сохранения, и JSON.parse()
во время извлечения, чтобы вернуть строку в массив.
То, что вы сохраняете, будет зависеть от потребностей вашего пользовательского интерфейса.
Самый простой формат этого массива можно легко получить с помощью jQuery serializeArray()
. Если вам нужно больше деталей, таких как значение метки, параметры отображения и т.д., Вам нужно будет создать свои собственные объекты для массива
Таким образом, вы можете сделать:
var data = $('#formID').serializeArray();
localStorage.setItem('myFormData', JSON.stringify( data));
Затем на загрузке страницы извлекайте строку из localStorage, верните ее в массив, используя JSON.parse
и loop over array, чтобы создать свои поля.
Хранилище html5 является хорошим выбором, если ваша пользовательская база, скорее всего, будет иметь хранилище HTML. Хранение файлов cookie лучше, если вам нужно поддерживать старые браузеры.