jQuery很多相同的输入得到相同的结果

时间:2018-03-18 12:10:44

标签: javascript jquery html

我认为我的问题非常简单:我正在使用jQuery Mobile。 为了相同的目的,我在3页上有完全相同的表格。 我希望当我在其他任何主题上输入内容以及其他内容时,所以当用户更改页面时,他会看到他的输入。

我一直在网上搜索所有我能找到的是从1个特定表格输入以适用于另一个但不是从任何主题到所有。

由于

3 个答案:

答案 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');
  }
});

谢谢你的时间和帮助=)