使用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 相关文章推荐
JS window.opener返回父页面的应用
Oct 24 Javascript
jquery 学习之二 属性 文本与值(text,val)
Nov 25 Javascript
jquery 操作DOM的基本用法分享
Apr 05 Javascript
jQuery Ajax提交表单查询获得数据实例代码
Sep 19 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
js保留小数点后几位的写法
Jan 03 Javascript
鼠标经过tr时,改变tr当前背景颜色
Jan 13 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
js中值引用和地址引用实例分析
Jun 21 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 mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
封装好的省市地区联动控件附下载
2007/08/13 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
在Python中进行自动化单元测试的教程
2015/04/15 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
详解爬虫被封的问题
2019/04/23 Python
Django 路由控制的实现
2019/07/17 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
Linux面试题LINUX系统类
2015/11/25 面试题
仓库管理专业个人自我评价范文
2013/11/11 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
如何利用golang运用mysql数据库
2022/03/13 Golang