我认为我的问题非常简单:我正在使用jQuery Mobile。 为了相同的目的,我在3页上有完全相同的表格。 我希望当我在其他任何主题上输入内容以及其他内容时,所以当用户更改页面时,他会看到他的输入。
我一直在网上搜索所有我能找到的是从1个特定表格输入以适用于另一个但不是从任何主题到所有。
由于
答案 0 :(得分:0)
您需要一些方法来保存页面之间的信息,无论是在URL(...com/foo?selection=bar
),浏览器存储(cookies,localStorage)中,还是在具有该用户首选项的服务器上。除非这是一个单页应用程序,否则当用户转到新页面时,所有JavaScript内存都将被删除,因此您需要一些其他方式来保持数据。看起来浏览器存储技术可以很好地适用于您正在做的事情,但确实知道它们不是永久性的,您可能需要告知您的用户您使用的是Cookie,具体取决于您的用户所处的位置(EU)。
答案 1 :(得分:0)
解决方案取决于您希望实现的目标。
如果您希望在重新加载页面后第1页上的表单中的值显示在page1 ... pageN上,则可以使用localStorage
。想法是在需要保存变量,数组或对象时将所有输入值保存
localStorage.setItem("formValues", formValuesObject)
并在pageload上检查该项目。
localStorage.getItem("formValues")
将值设置为表单(如果已存在)。
但是如果已在新标签页中打开pageI,则此解决方案将无效。要刷新所有选项卡中的表单值,如果从任何选项卡中修改它们,您将需要定期检查编辑。您可以使用setInterval(refreshFormValues, delay)
来实现此目的。
如果您希望这些值在浏览器关闭后保持不变,则需要服务器端解决方案,请使用cookie。
答案 2 :(得分:0)
我找到了解决方案:
有一些jQuery Mobile和JavaScript
所以事情是将输入数据存储在SessionStorage中,并在页面更改时获取您所在页面输入的数据。
第1页#instant_mesure
<input type="text" class="datepicker" placeholder="Date de l'événement" id="instant_mesuredateevent" onchange="sessionStorage.dateevent=this.value">
第2页#instant_inspiration
<input type="text" class="datepicker" placeholder="Date de l'événement" id="instant_inspirationdateevent" onchange="sessionStorage.dateevent=this.value">
和JS
$(document).on('pageshow', '#instant_mesure', function (e, data) {
if('dateevent' in sessionStorage) {
document.getElementById('instant_mesuredateevent').value = sessionStorage.getItem('dateevent');
}
});
$(document).on('pageshow', '#instant_inspiration', function (e, data) {
if('dateevent' in sessionStorage) {
document.getElementById('instant_inspirationdateevent').value = sessionStorage.getItem('dateevent');
}
});
谢谢你的时间和帮助=)