0

セッション/ローカルマシンにデータ(検索)を保存するにはどうすればよいですか?つまり、フォームが送信されるたびに将来使用するために、すべてのフォームフィールドをDBよりも少ない場所に保存できますか?

(...)

$('#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_date、古い検索結果を表示できるように古い検索用のボタン/リンクをいくつか作成する必要があります。end_datetype

重要なのは、これらの値を取得して、このdrawChart(start_date、end_date、type)に貼り付けることです。これが私の結果を生み出す関数です。

私のコードで私はこれを手に入れました[{"start_date":"2012-02-05","end_date":"2012-12-26","type":"pie"}]これはtempArray[0]です。start_dateしかし、私が必要としているのは、ATMのようにではなく、これend_datetype分離された値を取得することです

4

2 に答える 2

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')); 
于 2012-11-25T19:33:39.850 に答える
0

あなたはpersistjsを使うことができます。自分で作成する場合は、フォールバックとしてCookieを使用してlocalStorage(SessionStorageではなく)を使用して(基本的に<= IE7の場合)、古い検索を保存します。良い説明はここにあります(フォールバックコードを含む):

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

于 2012-11-25T19:28:02.680 に答える