私のコードには少し問題があります。他の機能にプッシュされたセッションストア内のアイテムを保存する
私は値を格納する配列を持っており、それらをsessionStorageに格納する必要があります。
document.getElementById("submit-button").addEventListener("click", book, false);
var array = new Array;
function book()
{
var seat;
// value in label that is changed everytime i click on a element.
seat = document.getElementById("label").innerHTML;
// Put it in a global array
array.push(seat);
window.sessionStorage.setItem("items", JSON.stringify(array));
booked(seat);
}
と負荷()関数で
:function load()
{
var storedArray = JSON.parse(window.sessionStorage.getItem("items"));
for (var i = 0; i < storedArray.length; i++)
{
var str1 = "seat";
var str2 = storedArray[i];
var number = document.getElementById(str1.concat(str2));
var context = number.getContext("2d");
context.fillStyle = 'red';
context.fillRect(0,0, seat18.width, seat18.height);
}
}
しかし、私の問題は、私はbook()
関数を呼び出すたびに、配列自体をリセットし、新しい価値をプッシュするということです。 load()
関数では、storedArray
は配列からの最新の値を登録するだけです。
まず、book()
のすべての値をグローバル配列に格納し、すべての値をgetItemからload()
に取得します。どのように私はそれを可能にすることができますか?
問題を再現するjsbinを提供してください(コードスニペットはセッションストレージを編集できません)。 –
@Kaddath、そうです。配列は、私の悪い、失われる必要があります。しかし、私は配列からすべての項目をsessionStorageに追加したいと思います。しかし、配列から最新のものだけを保存します。 配列が更新され、新しい値をsessionStorageに送信するたびに(同じセッションで)格納できる方法はありますか? – krm1337
@Kaddath、私はjsbinとフィドルを提供しようとしましたが、うまくいきません。私はすべてのコードをコピーしましたが、問題は残っています。 – krm1337