使用jquery读取html5 localstorage的值的方法


Posted in Javascript onJanuary 04, 2013

在HTML 5中,localstorage是个不错的东西,在支持localstorage的浏览器中, 能持久化用户表单的输入,即使关掉浏览器,下次重新打开浏览器访问,也能读出其值, 下面给出的例子是使用jquery 在每次表单加载的时候,读localstorage的值,而在表单每次提交时则清楚其值的例子
首先是一个表单

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>HTML5 Local Storage Example</title> 
<!-- include Bootstrap CSS for layout --> 
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"> 
</head> 
<body> 
<div class="container"> 
<h1>HTML5 Local Storage Example</h1> 
<form method="post" class="form-horizontal"> 
<fieldset> 
<legend>Enquiry Form</legend> 
<div class="control-group"> 
<label class="control-label" for="type">Type of enquiry</label> 
<div class="controls"> 
<select name="type" id="type"> 
<option value="">Please select</option> 
<option value="general">General</option> 
<option value="sales">Sales</option> 
<option value="support">Support</option> 
</select> 
</div> 
</div> 
<div class="control-group"> 
<label class="control-label" for="name">Name</label> 
<div class="controls"> 
<input class="input-xlarge" type="text" name="name" id="name" value="" maxlength="50"> 
</div> 
</div> 
<div class="control-group"> 
<label class="control-label" for="email">Email Address</label> 
<div class="controls"> 
<input class="input-xlarge" type="text" name="email" id="email" value="" maxlength="150"> 
</div> 
</div> 
<div class="control-group"> 
<label class="control-label" for="message">Message</label> 
<div class="controls"> 
<textarea class="input-xlarge" name="message" id="message"></textarea> 
</div> 
</div> 
<div class="control-group"> 
<div class="controls"> 
<label class="checkbox"> 
<input name="subscribe" id="subscribe" type="checkbox"> 
Subscribe to our newsletter 
</label> 
</div> 
</div> 
</fieldset> 
<div class="form-actions"> 
<input type="submit" name="submit" id="submit" value="Send" class="btn btn-primary"> 
</div> 
</form> 
</div>

然后是js部分代码:
<script src="//code.jquery.com/jquery-latest.js"></script> 
<script> 
$(document).ready(function () { 
/* 
* 判断是否支持localstorage 
*/ 
if (localStorage) { 
/* 
* 读出localstorage中的值 
*/ 
if (localStorage.type) { 
$("#type").find("option[value=" + localStorage.type + "]").attr("selected", true); 
} 
if (localStorage.name) { 
$("#name").val(localStorage.name); 
} 
if (localStorage.email) { 
$("#email").val(localStorage.email); 
} 
if (localStorage.message) { 
$("#message").val(localStorage.message); 
} 
if (localStorage.subscribe === "checked") { 
$("#subscribe").attr("checked", "checked"); 
} 
/* 
* 当表单中的值改变时,localstorage的值也改变 
*/ 
$("input[type=text],select,textarea").change(function(){ 
$this = $(this); 
localStorage[$this.attr("name")] = $this.val(); 
}); 
$("input[type=checkbox]").change(function(){ 
$this = $(this); 
localStorage[$this.attr("name")] = $this.attr("checked"); 
}); 
$("form") 
/* 
* 如果表单提交,则调用clear方法 
*/ 
.submit(function(){ 
localStorage.clear(); 
}) 
.change(function(){ 
console.log(localStorage); 
}); 
} 
});
Javascript 相关文章推荐
javascript入门·对象属性方法大总结
Oct 01 Javascript
jQuery 动画基础教程
Dec 25 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
jQuery中:nth-child选择器用法实例
Dec 31 Javascript
JQuery 传送中文乱码问题的简单解决办法
May 24 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
如何提升vue.js中大型数据的性能
Jun 21 Javascript
详解使用WebPack搭建React开发环境
Aug 06 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 Javascript
Vite + React从零开始搭建一个开源组件库
Jun 25 Javascript
表单的焦点顺序tabindex和对应enter键提交
Jan 04 #Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 #Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 #Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 #Javascript
密码强度检测效果实现原理与代码
Jan 04 #Javascript
禁止你的左键复制实用技巧
Jan 04 #Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 #Javascript
You might like
php防注
2007/01/15 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
33道php常见面试题及答案
2015/07/06 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
多版本Python共存的配置方法
2017/05/22 Python
python写一个md5解密器示例
2018/02/23 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
ipad上运行python的方法步骤
2019/10/12 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
简历的自我评价
2014/02/03 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
美容院营销方案
2014/03/05 职场文书
有关爱国演讲稿
2014/05/07 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
民主生活会发言材料
2014/10/20 职场文书
学生检讨书如何写
2014/10/30 职场文书
2014财务年度工作总结
2014/11/11 职场文书
机关保密工作承诺书
2015/05/04 职场文书
2016年五一促销广告语
2016/01/28 职场文书
table不让td文字溢出操作方法
2022/12/24 HTML / CSS