У меня есть требование, когда мне нужно сохранить данные формы на iPad. Этот HTML-файл будет содержать основную информацию и форму для сбора данных.Локальный магазин данных формы
Мне нужно создать один шаблон страницы для iPad, с фотогалереей, видео галереей и некоторым текстом, связанным с проектом. Больше похоже на презентацию. Это очень возможно, и мы можем хранить весь файл на iPad, и пользователь может получить доступ, даже если он не подключен к Интернету.
Проблема, с которой я сталкиваюсь, заключается в том, что клиент хочет хранить информацию, связанную с формой, в автономном режиме (без Интернета), и единственный способ сделать это - использовать локальный магазин.
Поскольку я новичок в этом, я хотел бы знать, как я могу прочитать эти данные из локального хранилища, и если это можно экспортировать в txt-файл.
http://codepen.io/anon/pen/gPNMYm
var localStorageAPI = {
// This method may not be needed as we go along
// the support is becoming better and better day-by-day
// http://caniuse.com/#feat=namevalue-storage
// better to be safe than sorry or get script errors :|
isSupported: function() {
return window.localStorage;
},
setItem: function(key, value) {
return localStorage.setItem(key, value);
},
getItem: function(key) {
return localStorage.getItem(key);
},
// If do not want to build a wrapper like how I did here but implement
// setObject() and getObject(), you can create prototype methods on
// Storage
// Storing Objects in HTML5 localStorage : http://stackoverflow.com/a/3146971/1015046
setObject: function(key, object) {
return localStorage.setItem(key, JSON.stringify(object));
},
getObject: function(key) {
return JSON.parse(localStorage.getItem(key));
},
removeItem: function(key) {
return localStorage.removeItem(key);
},
clearAll: function() {
return localStorage.clear();
}
};
$(document).ready(function() {
// Check localStorage support
if (localStorageAPI.isSupported()) {
var key = 'longForm';
// on blur of any form field, save the form data to local storage
$('.form-control').on('blur', function() {
// this can be cleaned up better to save
// only the relevant form data
// I am saving the entire form data for simplicity
// convert Form data to Object
// http://stackoverflow.com/a/17784656/1015046
var formObj = {};
$('form').serializeArray().map(function(x) {
formObj[x.name] = x.value;
});
localStorageAPI.setObject(key, formObj);
});
// populate existing form data
var fData = localStorageAPI.getObject(key);
if (fData) {
$.each(fData, function(formEle, formEleVal) {
$('[name=' + formEle + ']').val(formEleVal);
});
}
// delete the local storage key if the form is "successfully submit"
$('form').submit(function(e) {
e.preventDefault();
// AJAX Call to server..
// Success
localStorageAPI.removeItem(key);
});
} else {
alert('No Local Storage Support!');
}
});
я наткнулся на этот пример. http://thejackalofjavascript.com/getting-started-with-client-side-storage/
Кроме этого localstored является домен на основе будет работать, если мы открываем файл как HTML-страницы на IPad ..
Я уверен, что это не рекомендуется способ делать вещи из-за 5BM ограничения.
Можем ли мы как-то сохранить данные формы в файле java-script.
_ «я хотел бы знать, как я могу читать эти данные обратно из локального хранилища и, если можно экспортировать это в текстовый файл.» _ Да, данные могут быть сохранены в локальный файл '.txt'. Требуется ли пользователю сохранять 'formObj' локально? – guest271314
@ guest271314 У меня есть требование, когда пользователь будет использовать планшет, чтобы показать презентацию на основе HTML, и попросить пользователя дать отклик. Им необходимо собирать данные таким образом, поскольку они не имеют подключения к Интернету в отдаленной области. – Learning
См. Сообщение; используются события «onchange», «onsubmit», 'onreset'; 'data URI' для сохранения' .txt' или '.json' файла, представляющего данные' form' локально. – guest271314