欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5操作WebSQL数据库的实例代码

程序员文章站 2023-11-20 17:05:04
下面通过本文给大家分享HTML5操作WebSQL数据库的实例代码,感兴趣的朋友一起看看吧... 17-08-26...

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()">
        <div data-role="page" id="pageone">
            <div data-role="header" data-position="fixed">
                <h1>列车时刻表查询</h1>
            </div>
            <div 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>
            </div>
            <!--
                作者:ceet@vip.qq.com
                时间:2017-08-26
                描述:底部tab
            -->
            <div data-role="footer" data-position="fixed">
                <div 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>
                </div>
            </div>
            <!--收藏功能-->
            <div 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>
            </div>
        </div>
    </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();
}

我们有两个方法来进行软件设计:一个是让其足够的简单以至于让bug无法藏身;另一个就是让其足够的复杂,让人找不到bug。前者更难一些。

总结

以上所述是小编给大家介绍的html5操作websql数据库的实例代码,希望对大家有所帮助