Javascript 如何在本地存储HTML表单数据?

Javascript 如何在本地存储HTML表单数据?,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我正在制作一个HTML表单,在关闭窗口/选项卡并重新打开后,我需要我的用户能够获取他们填写的任何数据 如果我使用JavaScript cookies或HTML5本地存储来实现,那么我将不得不为每个输入标记编写代码,即使它有数千个 那么,实现这一目标最有效的方法是什么 另外,我正在使用PHP进行后端处理 我想要像在firefox或chrome中恢复会话一样的浏览器功能。本地存储是您最好的选择 我必须为每个输入标记编写代码,即使它有数千个 事实并非如此。您可以使用JS循环或jQuery循环来实现这一

我正在制作一个HTML表单,在关闭窗口/选项卡并重新打开后,我需要我的用户能够获取他们填写的任何数据

如果我使用JavaScript cookies或HTML5本地存储来实现,那么我将不得不为每个输入标记编写代码,即使它有数千个

那么,实现这一目标最有效的方法是什么

另外,我正在使用PHP进行后端处理


我想要像在firefox或chrome中恢复会话一样的浏览器功能。

本地存储是您最好的选择

我必须为每个输入标记编写代码,即使它有数千个

事实并非如此。您可以使用JS循环或jQuery循环来实现这一点:

$("input").each(function(){
              $(this).val(storage.getItem($(this).attr("id")));
          })
          .change(function(){
              storage.setItem($(this).attr("id"), $(this).val());
          });
当页面加载时,您循环页面上的每个输入,并根据输入的ID将内容放入其中。然后将事件侦听器附加到所有输入,从而将任何更改保存到本地存储中


我还没有测试过这个,它只是为了说明。这段代码可能无法立即运行,但我希望您理解这一概念。

您可以像这样使用localstorage

localStorage.setItem('formData', JSON.stringify($('form').serialize())); //comfortable java script way.
或者用饼干,你可以喜欢这个

$.cookie('formData', JSON.stringify($('form').serialize())); //can support old browsers also.

请阅读上的优秀公认答案,您将知道使用哪一个。

@PraveenKumar my bad。在关闭窗口/选项卡并重新打开后,立即得出结论。无论他们填写了什么数据。我不清楚。。你想要什么,这是什么意思?mabe会话可以帮助您这里真的没有方法在您的输入字段上进行迭代吗?直接将对象保存到HTML5本地存储中