使用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 相关文章推荐
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
Sep 19 Javascript
js三种排序算法分享
Aug 16 Javascript
javascript中对变量类型的判断方法
Aug 09 Javascript
js创建对象的方法汇总
Jan 07 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
canvas 绘制圆形时钟
Feb 22 Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 Javascript
详解vue-loader在项目中是如何配置的
Jun 04 Javascript
如何手动实现es5中的bind方法详解
Dec 07 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 代码优化的42条建议 推荐
2009/09/25 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
php取出数组单个值的方法
2018/03/12 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
Python多线程多进程实例对比解析
2020/03/12 Python
allbeauty美国:英国在线美容店
2019/03/11 全球购物
幼儿园开学家长寄语
2014/01/19 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
2019求职信大礼包
2019/05/15 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书