是否有更优雅/快速的方法来保存所有输入字段cookie?

时间:2016-05-26 11:41:55

标签: javascript jquery

因此,我正在开发一个庞大的Web应用程序,主要由有兴趣查看统计信息的管理员使用。因此,有20-25个表格带有大量过滤器。客户希望为每个会话存储他们的cookie,因为他们使用的一些过滤器非常错综复杂,并且很难重新创建。

在您开始输入之前:我已经知道如何应用 sessionStorage ,因为我最近不得不使用它。但是,我这样做的方式并不是很优雅。这是一个例子:

var fnrCookie = '';
sessionStorage.setItem("fnrCookie", fnr);
var fnrInUse = sessionStorage.getItem("fnrCookie");

这表示代码中的单个输入字段。如果我要对应用程序的其余部分采用相同的方法,那么它将成为一项非常庞大而平凡的任务,因为可能有250-300个输入字段组合在一起。

那么,有没有办法让我告诉我的jsp页面存储所有输入字段的会话cookie,而不必为所有编写变量?

1 个答案:

答案 0 :(得分:0)

我最近必须做类似的事情,所以我将所有表单元素存储到一个对象中,json将结果存储到localStorage

    //--- process the form elements
   //--- get the second form details (more than one form on the page)
   var f = document.querySelectorAll('form')[1];
   //--- create a new form data object
   fd = new FormData( f );
   //--- iterate over the data
   for( pair of fd.entries() ) {
      //--- handle multiple values on same input name
      x = fd.getAll( pair[0]);
      //--- store values in with input name and it's value
      res[pair[0]] = x.join('~');
   }
    //--- json the whole thing
    x = JSON.stringify(res);
   //--- store it
   localStorage.setItem("formInfo", x );