<!DOCTYPE html>
<head>
<meta charset="gb2312">
<title>contentTitle</title>
</head>
<body οnlοad="init();">
<h1>使用WEBStorage+JSON做简易数据库</h1>
<div>
<table>
<tr><td>姓名:</td><td><input type="text" id="name"></td></tr>
<tr><td>留言:</td><td><input type="text" id="memo"></td></tr>
<tr>
<td></td>
<td><input type="button" value="保存" οnclick="saveData();"></td>
</tr>
</table>
</div>
<div>
<hr>
<table id="datatable" border="1"></table>
<p id="P1"></p>
</div>
</body>
<script type="text/javascript" charset="gb2312">
function saveStorage()
{
var data = new Object();
data.name = document.getElementById("name").value;
data.email = document.getElementById("email").value;
data.tel = document.getElementById("tel").value;
data.memo = document.getElementById("memo").value;
var str = JSON.stringify(data);
localStorage.setItem(data.name, str);
alert("data has been saved");
}
function findStorage(id)
{
var find = document.getElementById("find").value;
var str = localStorage.getItem(find);
var data = JSON.parse(str);
var result = "姓名:" + data.name + '<br>';
result += "EMAIL:" + data.email + '<br>';
result += "电话:" + data.tel + '<br>';
result += "备注:" + data.memo + "<br>";
var target = document.getElementById(id);
target.innerHTML = result;
}
var datatable = null;
var db = openDatabase('MyData', '', 'My Database', 102400);
function init()
{
datatable = document.getElementById("datatable");
showAllData();
}
function removeAllData()
{
for (var i = datatable.childNodes.length - 1; i >= 0; i--) {
datatable.removeChild(datatable.childNodes[i]);
}
var tr = document.createElement('tr');
var th1 = document.createElement('th');
var th2 = document.createElement('th');
var th3 = document.createElement('th');
th1.innerHTML = '姓名';
th2.innerHTML = '留言';
th3.innerHTML = '时间';
tr.appendChild(th1);
tr.appendChild(th2);
tr.appendChild(th3);
datatable.appendChild(tr);
}
function showData(row)
{
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.innerHTML = row.name;
var td2 = document.createElement('td');
td2.innerHTML = row.message;
var td3 = document.createElement('td');
var t = new Date();
t.setTime(row.time);
td3.innerHTML = t.toLocaleDateString() + " " + t.toLocaleTimeString();
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
datatable.appendChild(tr);
}
function showAllData()
{
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS MsgData(name TEXT, message TEXT, time INTEGER)', []);
tx.executeSql('SELECT * FROM MsgData', [], function (tx, rs) {
removeAllData();
for (var i = 0; i < rs.rows.length; i++) {
showData(rs.rows.item(i));
}
});
});
}
function addData(name, message, time)
{
db.transaction(function (tx)
{
tx.executeSql('INSERT INTO MsgData VALUES(?, ?, ?)', [name, message, time], function (tx, rs)
{
alert("成功保存数据!");
},
function (tx, error)
{
alert(error.source + "::" + error.message);
});
});
}
function saveData()
{
var name = document.getElementById("name").value;
var memo = document.getElementById("memo").value;
var time = new Date().getTime();
addData(name, memo, time);
showAllData();
}
</script>