使用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 相关文章推荐
HTML 自动伸缩的表格Table js实现
Apr 01 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
Javascript中replace()小结
Sep 30 Javascript
jquery事件的ready()方法使用详解
Nov 11 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
Jul 09 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
Dec 01 Javascript
JS与SQL方式随机生成高强度密码示例
Dec 29 Javascript
一文了解vue-router之hash模式和history模式
May 31 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将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
PHP asXML()函数讲解
2019/02/03 PHP
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
JS实现图片放大镜插件详解
2017/11/06 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python函数返回值实例分析
2015/06/08 Python
简析Python的闭包和装饰器
2016/02/26 Python
python常用函数详解
2016/09/13 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
python读取文件名并改名字的实例
2019/01/07 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
浅谈python 类方法/静态方法
2020/09/18 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
服务行业标语口号
2015/12/26 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python