Html5通过Web SQL Datab…

Html5通过Web <wbr>SQL <wbr>Database功能创建记事本

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>通过Web SQL Database功能创建记事本</title>
    <style>
        *{
            padding: 0;
            margin: 0;
            font-family: "微软雅黑";
        }
        #main{
            border: 1px solid gray;
            width: 310px;
            height: 400px;
            padding: 10px;
            margin: 50px;
            -webkit-box-shadow: 10px 10px 10px gray;
            -moz-box-shadow: 10px 10px 10px gray;
        }
        #item{
            width: 200px;
            height: 25px;
            margin:10px 0px 10px 5px;
        }
        .but{
            width: 100px;
            height: 30px;
            -webkit-border-radius: 8px;

        }
        .but:hover{
            cursor: pointer;
        }
    </style>
    <script>

         var db;
         var item_show;
         var cbItems=[];

         window.onload=function(){
            //首先判断浏览器是否支持Web Database
            if(window.openDatabase==undefined){
                alert("浏览器不支持Web Database!");
                return;
            }
            item_show=$("item_show");
            //打开数据库
            db=window.openDatabase("notebook","1.0","nb",1024*1024);
            db.transaction(function(tx){
                 //创建表,如果不存在的话
                 var query="create table if not exists notebook_tab(" +
                         "nb_id INTEGER PRIMARY KEY," +
                         "nb_con TEXT" +
                         ")";
                 tx.executeSql(query,[],loadItems);
            });
         };

         //查询我们选项的函数
         function loadItems(){
             db.transaction(function(tx){
                 var query="select * from notebook_tab";
                 tx.executeSql(query,[],loadItems_result);
             });
         }
         //加载我们选项的函数
         function loadItems_result(tx,rs){
             //首先把以前的节点先删除
             while(item_show.hasChildNodes()){
                 item_show.removeChild(item_show.lastChild);
             }

             //开始创建我们的多选项
             for(var i=0;i<rs.rows.length;i++){
                 //首先获得一行记录
                 var row=rs.rows.item(i);
                 var item_id=row.nb_id;
                 var item_con=row.nb_con;

                 //开始追加多选框
                 var cb=document_createElement_x("input");
                 cb.type="checkbox";
                 cb.value=item_id;
                 cbItems.push(cb);


                 //创建我们的<span>标签
                 var label=document_createElement_x("span");
                 label.innerHTML="&nbsp;"+item_con;

                 //追加一行
                 var line=document_createElement_x("div");
                 line.a(cb);
                 line.a(label);

                 //向项目列表当中追加一行
                 item_show.a(line);
             }
         }

         function addOne(){
            var text=$("item").value;
            $("item").value="";

            db.transaction(function(tx){
                var query="insert into notebook_tab(nb_con) values(?)";
                tx.executeSql(query,[text],loadItems);
            });

         }

         function delOne(){
            db.transaction(function(tx){
                for(var i in cbItems){
                    var cb=cbItems[i];
                    if(!cb.checked) continue;
                    var query="delete from notebook_tab where nb_id=?";
                    tx.executeSql(query,[cb.value]);
                }
            },function(){alert("删除失败")},loadItems);

         }

         function $(str){
             return document.getElementByIdx_x(str);
         }

    </script>
</head>
<body>
      <div id="main">
          <h2>Web SQL Database记事本</h2>
          <input type="text" id="item">
          <br>
          <button class="but" onclick="addOne();">添加</button>
          <br>
          <div id="item_show">


          </div>
          <button class="but" onclick="delOne();">删除</button>
      </div>
</body>
</html>

你可能感兴趣的:(Html5通过Web SQL Datab…)