使用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中的常见排序算法
Mar 27 Javascript
关于jquery append() html时的小问题的解决方法
Dec 16 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
深入解析JavaScript中函数的Currying柯里化
Mar 19 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
JavaScript 随机验证码的生成实例代码
Sep 22 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 Javascript
vue.js+Element实现表格里的增删改查
Jan 18 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
vue中导出Excel表格的实现代码
Oct 18 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操作excel文件 基于phpexcel
2010/07/02 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
onpropertypchange
2006/07/01 Javascript
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
BootStrap selectpicker
2016/06/20 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
儿科主治医生个人求职信
2013/09/23 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
A22国内电台短波广播频率表
2022/05/10 无线电
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS