Javascript保存表单搜索

时间:2012-11-25 19:19:47

标签: javascript jquery forms

我怎样才能在session / localmachine 中保存数据(搜索),我的意思是,保存在任何地方更少数据库,所有表单字段以供将来每次使用该表单时使用?

(...)

$('#button_submit').click(function() {
    var start_date = $('#start_date').val();
    var end_date = $('#end_date').val();
    var type = $('#type').val();
    var tempArr = new Array();
    var json = window.sessionStorage['search'];
    if(json)
        tempArr = JSON.parse(json);
    tempArr.push(JSON.parse('{"start_date" : "'+start_date+'" , "end_date" : "'+end_date+'" , "type" : "'+type+'"}'));
    window.sessionStorage['search'] = JSON.stringify(tempArr);
    drawChart(start_date, end_date, type)
}); 

(...)

此代码不解决我的问题。

我需要在每次提交表单时保存start_dateend_datetype值,并为旧搜索创建一些按钮/链接,以便能够查看旧结果。

要点抓住这些值,坚持这些 drawChart(start_date,end_date,type)。这是产生我的结果的功能。

我的代码我得到了这个[{"start_date":"2012-02-05","end_date":"2012-12-26","type":"pie"}]这是tempArray [0]。但我需要的是抓住这个start_dateend_datetype分隔的值,而不是它是atm

2 个答案:

答案 0 :(得分:0)

您可以使用persistjs。如果你想自己编写它,只需使用带有cookie的localStorage(不是SessionStorage)作为后备(基本上用于< = IE7)来保存旧的搜索。这里可以找到一个很好的解释(包括后备代码):

https://developer.mozilla.org/en-US/docs/DOM/Storage

答案 1 :(得分:0)

对于此问题,使用合适的对象localSorage,但并非所有浏览器都支持。支持的浏览器:http://www.w3schools.com/html/html5_webstorage.asp

实施例

localStorage.setItem('resultSearch', JSON.stringify({a: "1234"}));
.....
// submit, and reload page
var b = JSON.parse(localStorage.getItem('resultSearch'));