• HTML5本地存储之本地数据库篇


    <!DOCTYPE HTML>
    <html>
    
    <head>
        <meta charset="utf-8" />
        <title>HTML5本地存储之本地数据库篇</title>
        <style>
            .addDiv {
                border: 2px dashed #ccc;
                width: 400px;
                text-align: center;
            }
    
            th {
                font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
                color: #4f6b72;
                border-right: 1px solid #C1DAD7;
                border-bottom: 1px solid #C1DAD7;
                border-top: 1px solid #C1DAD7;
                letter-spacing: 2px;
                text-transform: uppercase;
                text-align: left;
                padding: 6px 6px 6px 12px;
            }
    
            td {
                border-right: 1px solid #C9DAD7;
                border-bottom: 1px solid #C9DAD7;
                background: #fff;
                padding: 6px 6px 6px 12px;
                color: #4f6b72;
            }
        </style>
    </head>
    
    <body>
        <div class="addDiv">
            <label for="user_name">姓名:</label>
            <input type="text" id="user_name" name="user_name" class="text" />
            <br />
            <label for="mobilephone">手机:</label>
            <input type="text" id="mobilephone" name="mobilephone" />
            <br />
            <label for="mobilephone">公司:</label>
            <input type="text" id="company" name="company" />
            <br />
            <input id="add" type="button" value="新增记录" />
        </div>
        <br />
        <div id="list">
        </div>
        <script type="text/javascript">
            //打开数据库  
            var db = openDatabase('contactdb', '', 'local database demo', 204800);
    
            window.onload = function () {
                loadAll();
            }
    
            $('#add').onclick = function () {
                save();
            }
    
            //保存数据  
            function save() {
                var user_name = $('#user_name').value;
                var mobilephone = $('#mobilephone').value;
                var company = $('#company').value;
                //创建时间  
                var time = new Date().getTime();
                db.transaction(function (tx) {
                    tx.executeSql('insert into contact values(?,?,?,?)', [user_name, mobilephone, company, time],
                        onSuccess, onError);
                });
            }
    
            //刷新数据库  并渲染 
            function loadAll() {
                var list = $('#list');
                db.transaction(function (tx) {
                    tx.executeSql(
                        'create table if not exists contact(name text,phone text,company text,createtime INTEGER)',
                        []);
                    //读取数据           
                    tx.executeSql('select * from contact', [], function (tx, rs) {
                        if (rs.rows.length > 0) {
                            var result = "<table>";
                            result +=
                                "<tr><th>序号</th><th>name姓名</th><th>手机</th><th>公司</th><th>添加时间</th><th>操作</th></tr>";
                            for (var i = 0; i < rs.rows.length; i++) {
                                var row = rs.rows.item(i);
                                var time = new Date();
                                time.setTime(row.createtime);
                                var timeStr = time.format("yyyy-MM-dd hh:mm:ss");
                                //拼装一行信息
                                result += "<tr><td>" + (i + 1) + "</td><td>" + row.name + "</td><td>" + row
                                    .phone + "</td><td>" + row.company + "</td><td>" + timeStr +
                                    "</td><td><input type='button' value='删除' onclick='del(" + row.phone +
                                    ")'/></td></tr>";
                            }
                            list.innerHTML = result;
                        } else {
                            list.innerHTML = "目前数据为空,赶紧开始加入联系人吧";
                        }
                    });
                });
            }
    
            //删除信息  
            function del(phone) {
                db.transaction(function (tx) {
                    tx.executeSql('delete from contact where phone=?', [String(phone)], onSuccess, onError);
                });
            }
    
            //sql语句执行成功后执行的回调函数  
            function onSuccess(tx, rs) {
                alert("操作成功");
                loadAll();
            }
            
            //sql语句执行失败后执行的回调函数  
            function onError(tx, error) {
                alert("操作失败,失败信息:" + error.message);
            }
    
            Date.prototype.format = function (format) {
                var o = {
                    "M+": this.getMonth() + 1,
                    "d+": this.getDate(),
                    "h+": this.getHours(),
                    "m+": this.getMinutes(),
                    "s+": this.getSeconds(),
                    "q+": Math.floor((this.getMonth() + 3) / 3), //quarter  
                    "S": this.getMilliseconds()
                }
                if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp
                    .$1.length));
                for (var k in o) {
                    if (new RegExp("(" + k + ")").test(format)) {
                        format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[
                            k]).length));
                    }
                }
                return format;
            }
    
            function $(s) {
                return document.querySelector(s);
            }
        </script>
    </body>
    
    </html>
  • 相关阅读:
    ajax加载数据字典下拉选后台
    【算法】二叉树前中后序的递归+迭代(java代码)
    【设计模式】代理模式与装饰器模式的区别
    《重构》读书笔记(一)
    【服务器安全】记一次处理挖矿病毒经历
    【计算机原理】数值存储计算基本理论(一)
    【JAVA】java中类的执行顺序
    【numpy&pandas】Pandas速查笔记
    【前端】打包vue项目到nginx过程
    【服务器搭建】Linux下安装docker
  • 原文地址:https://www.cnblogs.com/justSmile2/p/10770015.html
Copyright © 2020-2023  润新知