使用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支持firefox,ie7页面布局拖拽效果代码
Dec 20 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
js confirm()方法的使用方法实例
Jul 13 Javascript
javascript验证身份证号
Mar 03 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
Bootstrap基本组件学习笔记之导航(10)
Dec 07 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
Jan 23 Javascript
Spring Boot/VUE中路由传递参数的实现代码
Mar 02 Javascript
vue实现的多页面项目如何优化打包的步骤详解
Jul 19 Javascript
vue中可编辑树状表格的实现代码
Oct 31 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 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
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
js form action动态修改方法
2008/11/04 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
英文演讲稿
2014/05/15 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
财务工作失职检讨书
2014/11/21 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
2016银行求职自荐信
2016/01/28 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python