ここのサンプルを少し改造しています.
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset=utf-8>
<script>
//変数storageにlocalStorageを格納
var myData = localStorage;//たぶん”localstorage”というのは変えてはいけない
//myDataに保存する
function dataSave() {
var myKey = document.getElementById("mykey").value;
var myValue = document.getElementById("myvalue").value;
myData.setItem(myKey, myValue);
show_result();
}
//データを消去
function myclear() {
myData.clear();
show_result();
}
//保存されているデータをリスト表示する
function show_result() {
var result = "";
//保存されているデータの数だけループ
for(var i=0; i<myData.length; i++){
//i番目のキーを取得
// var k = myData.key(i);
var calledData = myData.key(i);
result += calledData + "は" + myData.getItem(calledData) + "です<br>";
}
//上のループで作成されたテキストを表示する
document.getElementById("show_result").innerHTML = result;
}
//
function removeStorage() {
var key = document.getElementById("sakujoKey").value;
myData.removeItem(key);
key = "";
show_result();
}
</script>
<title>Web Storage サンプル</title>
</head>
<body onload="show_result();"><!-- ←ここで結果を自動表示させている-->
<p>
キー:<input id="mykey" type="text">
値:<input id="myvalue" type="text">
<input type="button" value="ストレージに保存" onClick="dataSave()">
</p>
<p>
<div id="show_result"></div>
<input type="button" value="ストレージをクリア" onClick="myclear()">
<input type="button" value="リスト表示" onClick="show_result()">
<br />
削除するキー:<input id="sakujoKey" type="text">
<button id="button" onclick="removeStorage()">このキーを削除</button>
</p>
</body>
</html>
このデータは共有できるので,同じサーバ(で判別している)であれば別のページからでもこのデータをみられる.
そこで,書き込み用ページと,読み出しようページを分けて,普段は読み出し用ページ,特別な時に書き込みようページへ移動してデータを追加というのも可能です.
データはクリア以外にも,キーワードを指定して削除という方法があります.
「削除するキー」の横に削除したいキーワードを入れて,削除ボタンを押すと,そのキーと値が削除されます.
なお,同じキーの場合は,上書きされますので,日付などで固有化させてください.
例えば,「2014年11月電気代」という風に.
配列に入れているので並び替え可能かと思われますが(ソート)その場合は配列への書き込み方法を変更する必要があるかも.