HTML5本地数据库写留言版功能

本文介绍如何利用HTML5的Web Storage技术,包括localStorage和sessionStorage,实现网页本地存储,创建一个简单的留言版应用。通过本地存储用户输入的数据,即使页面刷新,留言信息也能得以保留,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #box{
                width:300px;
                height:200px;
                border:1px solid #000;
            }
            .text{
                width:100%;
                height:20px;
                border:1px dashed #ccc;
            }
            .time{
                width:60px;
                height:20px;
                float: right;
                background:#ccc;
            }
        </style>
    </head>
    <body>
        <textarea name="" id="" cols="30" rows="10"></textarea>
        <input type="button"  value="发布" id="block"/>
        <input type="button" value="删除" id="delete"/>
        <div id="box">
            <!--<p class="text">雨天</p>
            <p class="time">04.21</p>-->
        </div>
    </body>
    <script type="text/javascript">
        var oTxt=document.getElementsByTagName('textarea')[0];
        var oBox=document.getElementById('box');
        var oBK=document.getElementById('block');
        var oDE=document.getElementById('delete');
        var arr=[];

        var db=openDatabase('mydb','1.0','textlyb',1024*1024);

        db.transaction(function (contex){
            contex.executeSql('create table if not exists liuyanban(content)');
        })

        //页面加载完后显示所有数据
        db.transaction(function (contex){
            contex.executeSql('select * from liuyanban',[],function(con,data){
                var len=data.rows.length,i;
                for(var i=0;i<len;i++){
                    arr.push(data.rows.item(i).content);
                }
                for(var i=0;i<len;i++){
                    var aP=document.createElement('p');
                    aP.innerHTML=data.rows.item(i).content;
                    oBox.appendChild(aP);
                }
            })
        })

        oBK.onclick=function(){
            //判断当输入框不为空时,插入数据
            if(oTxt.value){
                db.transaction(function (contex){
                    contex.executeSql('insert into liuyanban(content) values("'+oTxt.value+'")');
                    //每次输入之后清空
                    oTxt.value='';
                })

                //逐条添加数据
                db.transaction(function (contex){
                    contex.executeSql('select * from liuyanban',[],function(con,data){
                        var len=data.rows.length,i;
                        arr.push(data.rows.item(len-1).content);
                        var aP=document.createElement('p');
                        aP.innerHTML=data.rows.item(len-1).content;
                        oBox.appendChild(aP);
                    })
                })
            }
        }

        //删除数据
        oDE.onclick=function(){
            db.transaction(function (contex){
                contex.executeSql('delete from liuyanban');
                location.reload();
            })
        }
    </script>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值