使用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 相关文章推荐
网页常用特效代码整理
Jun 23 Javascript
用一段js程序来实现动画功能
Mar 06 Javascript
在textarea中显示html页面的javascript代码
Apr 20 Javascript
Javascript JSQL,SQL无处不在,
May 05 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
Jan 09 Javascript
JavaScript中的this关键字使用方法总结
Mar 13 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
Jul 29 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
javascript canvas检测小球碰撞
Apr 17 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开发者的10个技巧
2011/02/25 PHP
php二分查找二种实现示例
2014/03/12 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
php实现可逆加密的方法
2015/08/11 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
深入浅析Python传值与传址
2018/07/10 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
环保标语口号
2014/06/13 职场文书
建筑工地宣传标语
2014/06/18 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL