鱼C论坛

 找回密码
 立即注册
查看: 2143|回复: 7

为啥一按回车就刷新了页面,且本地存储数据也没更新

[复制链接]
发表于 2022-4-28 22:40:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>

    <title>Document</title>
    <style>
        input{
            display:inline-block;
        }
        .one{
            width:500px;
            height:400px;
            background-color:yellow;
        }
        .two{
            width:500px;
            height:500px;
            background-color:aqua;
        }
    </style> 
</head>
<body>
    <form>
    <input id="usname" value="sd" >
    <input id="checked"  type="checkbox">
    <button>添加</button>
</form>
<div class="one">
    <ol></ol>
</div>
<div class="two">
    <ol></ol>
</div>
    <script>
        var todolist=[
            {
                title:'未来很美好',
                done:false,
            },

            {
                title:'美好的一天',
                done:false,
            },
        ];
      
        //
        let ipt=document.querySelector('#usname');
        const checked=document.querySelector('#checked');
        const  btn=document.querySelector('button');
        const one=document.querySelector('.one');
        const two=document.querySelector('.two');
        const ol1=one.querySelector('ol');
        const  ol2=two.querySelector('ol');
        console.log(ol1);
        console.log(ol2);
  
  //
        //  本地存储里只能存储字符串的数据格式,把我们的数组对象转换为字符串格式 JSON.stringfy();
        localStorage.setItem('todo',JSON.stringify(todolist));
        // localStorage.setItem('todo',todolist);
        let data=localStorage.getItem('todo');
        data=JSON.parse(data);
 
          ipt.addEventListener('keydown',function(event){
                if(event.keyCode===13){
                    //先获取本地存储的数据
                 var local=getdate();
                 //更新local数组中的数据(将新的数据追加进去);
                 local.push({title:this.value,done:false});
                 //把更新了的数组local存储给本都存储
                 savadate(local);
                }
              
          });
          //读取本地存储的数据
          function  getdate(){
              var data=localStorage.getItem('todolist');
              if(data!==null){
                  return JSON.parse(data);
              }
              else {
                  return [];
              }
          }
          //将数据存储进本地存储必须是字符串格式所以用JSON.stringify()转化。
          //将数据从本地存储中取出来,需要将字符串转化为对象用JSON.parse();
          //将更新的数组存储给本地存储及替换掉以前的就数组本地存储数据
          function   savadate(data){
              localStorage.setItem('todolist',JSON.stringfy(data));
          }
</script>
</body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-29 09:43:37 | 显示全部楼层
你了解
local.push({title:this.value,done:false});   这里的this是谁吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-29 10:35:09 | 显示全部楼层
按回车键自动刷新是form的特性
如果你一定要监听回车事件   就要取消这个特性  阻止form的自动提交
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-29 11:41:39 | 显示全部楼层
<form> 改成 <form onsubmit="return false;">
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-30 16:38:25 | 显示全部楼层
wp231957 发表于 2022-4-29 09:43
你了解
local.push({title:this.value,done:false});   这里的this是谁吗

文本框中的值啊,输入的文字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-30 16:39:52 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 14:29:49 | 显示全部楼层

浏览器不会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-3 19:59:09 | 显示全部楼层

代码报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 18:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表