使用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 相关文章推荐
表单填写时用回车代替TAB的实现方法
Oct 09 Javascript
Node.js和MongoDB实现简单日志分析系统
Apr 25 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
Feb 20 Javascript
基于Vuejs的搜索匹配功能实现方法
Mar 03 Javascript
微信小程序实现图片选择并预览功能
Jul 25 Javascript
Vue 自定义指令功能完整实例
Sep 17 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 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
图书管理程序(三)
2006/10/09 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
layui的select联动实现代码
2019/09/28 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
一个Python最简单的接口自动化框架
2018/01/02 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
python dict如何定义
2020/09/02 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
python字典与json转换的方法总结
2020/12/28 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
市场营销专业毕业生自荐信
2013/11/02 职场文书
学校消防演习方案
2014/02/19 职场文书
房产委托公证书
2014/04/08 职场文书
服务明星事迹材料
2014/12/29 职场文书
统计工作个人总结
2015/03/03 职场文书
python中%格式表达式实例用法
2021/06/18 Python