使用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 相关文章推荐
EasyUI 中 MenuButton 的使用方法
Jul 14 Javascript
详解JavaScript的策略模式编程
Jun 24 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
Vue 重置组件到初始状态的方法示例
Oct 10 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 Javascript
Vue学习之常用指令实例详解
Jan 06 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
Jun 01 Javascript
vue结合el-upload实现腾讯云视频上传功能
Jul 01 Javascript
vue实现可以快进后退的跑马灯组件
Apr 08 Vue.js
表单的焦点顺序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安全配置方法
2007/06/16 PHP
PHP教程 基本语法
2009/10/23 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python杀死一个线程的方法
2015/09/06 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
浅析python函数式编程
2020/09/26 Python
Django权限控制的使用
2021/01/07 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
办公室文秘自我评价
2013/09/21 职场文书
大专计算机个人求职的自我评价
2013/10/21 职场文书
公积金单位接收函
2014/01/11 职场文书
安踏广告词改编版
2014/03/21 职场文书
python爬虫selenium模块详解
2021/03/30 Python
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis