这次给大家带来h5怎么操作websql数据库,h5操作websql数据库的注意事项有哪些,下面就是实战案例,一起来看一下。
html代码:
<!doctype html>
<html>
<head lang="en">
<meta charset="utf-8">
<title>列车时刻表查询</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<script src="js/connect.js"></script>
<body onload="init()">
<p data-role="page" id="pageone">
<p data-role="header" data-position="fixed">
<h1>列车时刻表查询</h1>
</p>
<p data-role="main" class="ui-content">
<p align="center">请给我留言</p>
<table data-role="table" class="ui-responsive">
<thead>
<tr>
<th>姓名:</th>
<th>留言:</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" id="name"></td>
<td><input type="text" id="memo"></td>
</tr>
</tbody>
</table>
<button type="submit" onclick="savedata()">留言</button>
<table data-role="table" data-mode="" class="ui-responsive" id="datatable">
<!--这里是留言板的显示区域-->
</table>
</p>
<!--
作者:ceet@vip.qq.com
时间:2017-08-26
描述:底部tab
-->
<p data-role="footer" data-position="fixed">
<p data-role="navbar">
<ul>
<li>
<a href="index.html#index" data-icon="grid" class="ui-btn-active">查询</a>
</li>
<li>
<a href="index.html#detail" data-rel="popup" data-icon="star">收藏</a>
</li>
<li>
<a href="test.html" data-icon="comment">给我留言</a>
</li>
</ul>
</p>
</p>
<!--收藏功能-->
<p data-role="popup" id="mypopup" class="ui-content" data-theme="b">
<a href="#" data-rel="back" class="ui-btn ui-btn-a ui-corner-all ui-shadow ui-btn ui-icon-delete ui-btn-icon-notext ui-btn-right">close</a>
<p>收藏成功,暂且不做处理!.</p>
<p>请点击右上角有个关闭按钮</p>
<p><b>提示:</b> 你也可以点击弹窗的外部区域来关闭弹窗。</p>
</p>
</p>
</body>
</html>
js代码:
/**
* html5 操作本地websql数据库
* 作者:汪政
* 时间:2017/08/26 15:03:19
*/
var datatable = null;
var db = opendatabase(mydata, , my database, 1024 * 100);
//初始化函数方法
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);
}
//显示websql中的数据
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();
}
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
前缀data-属性和dataset的使用方法
drag事件编辑器实现拖拽上传图片效果
以上就是h5怎么操作websql数据库的详细内容。
