前端记录并保持用户输入

最近接到这样的一个需求:
在A页面用户可以在输入框修改内容,在用户还没点击保存按钮时离开A页面跑到B页面,当用户再次返回到A页面时,直接显示用户刚才输入还未保存的内容,即用户不需要再次输入。

前端缓存数据的几种方式:
cookie、localStorage、sessionStorage
cookie:可以记录前端数据,传到后端,可用于前后端保持会话
localStorage和sessionStorage仅仅是把数据缓存在前端,不用向后端传输。

实现此功能的关键在于找到备份数据、恢复数据、更新数据(或者删除数据)的时机。
备份数据:在用户点击跳转到B页面时备份数据;
恢复数据:A页面加载时从sessionStorage中取出数据,恢复
删除数据:用户退出A页面时删除数据

<script type="text/javascript">
var ud=localStorage.getItem('ud');
var uc=localStorage.getItem('uc');
var un=localStorage.getItem('un');
function initvar()
{
var edit1=document.getElementById("udate");
var edit2=document.getElementById("ucust");
var edit3=document.getElementById("uname");
    edit1.value=ud;
edit2.value=uc;
edit3.value=un;
}
 
function setvar()
{
var edit1=document.getElementById("udate");
var edit2=document.getElementById("ucust");
var edit3=document.getElementById("uname");
 
localStorage.setItem('ud',edit1.value);
localStorage.setItem('uc',edit2.value);
localStorage.setItem('un',edit3.value);
}
</script>
<body onload="initvar()" onunload="setvar()">

我用sessionStorage记录数据的,需要注意的是只能保存字符串,其他数据类型需要序列化:

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符  
var obj = JSON.parse(data); //由JSON字符串转换为JSON对象  

具体可以参考:sessionstorage中存储JSON数据

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值