使用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 相关文章推荐
javascript读取RSS数据
Jan 20 Javascript
WordPress JQuery处理沙发头像
Jun 22 Javascript
javascript中常用编程知识
Apr 08 Javascript
jquery事件与函数的使用介绍
Sep 29 Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
JavaScript头像上传插件源码分享
Mar 29 Javascript
javascript完美实现给定日期返回上月日期的方法
Jun 15 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
Vue实现图片与文字混输效果
Dec 04 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
Feb 12 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爆绝对路径方法收集整理
2012/09/17 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
自制PHP框架之设计模式
2017/05/07 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
浅谈php调用python文件
2019/03/29 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Django的session中对于用户验证的支持
2015/07/23 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python中正则的使用指南
2016/12/04 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
《阳光》教学反思
2014/02/23 职场文书
五一劳动节慰问信
2015/02/14 职场文书
环卫个人总结
2015/03/03 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android