使用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 相关文章推荐
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
最佳的JavaScript错误处理实践
Jul 16 Javascript
js只执行1次的函数示例
Jul 20 Javascript
js接收并转化Java中的数组对象的方法
Aug 11 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
JS全角与半角转化实例(分享)
Jul 04 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 Javascript
微信小程序入门之指南针
Oct 22 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的命令行命令使用指南
2015/08/18 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php编程每天必学之验证码
2016/03/03 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
13个PHP函数超实用
2015/10/21 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python获取点击的坐标画图形的方法
2019/07/09 Python
Python assert语句的简单使用示例
2019/07/28 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
学生个人自我鉴定范文
2014/03/28 职场文书
个人工作表现评语
2014/04/30 职场文书
党建工作经验交流材料
2014/05/25 职场文书
董事会决议范本
2015/07/01 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript