这次给大家带来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数据库的详细内容,更多请关注双恒网络其它相关文章!

简简单单挺好的

联系我们 订单查询