使用jquery读取html5 localstorage的值的方法
在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>
<p class="container">
<h1>html5 local storage example</h1>
<form method="post" class="form-horizontal">
<fieldset>
<legend>enquiry form</legend>
<p class="control-group">
<label class="control-label" for="type">type of enquiry</label>
<p 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>
</p>
</p>
<p class="control-group">
<label class="control-label" for="name">name</label>
<p class="controls">
<input class="input-xlarge" type="text" name="name" id="name" value="" maxlength="50">
</p>
</p>
<p class="control-group">
<label class="control-label" for="email">email address</label>
<p class="controls">
<input class="input-xlarge" type="text" name="email" id="email" value="" maxlength="150">
</p>
</p>
<p class="control-group">
<label class="control-label" for="message">message</label>
<p class="controls">
<textarea class="input-xlarge" name="message" id="message"></textarea>
</p>
</p>
<p class="control-group">
<p class="controls">
<label class="checkbox">
<input name="subscribe" id="subscribe" type="checkbox">
subscribe to our newsletter
</label>
</p>
</p>
</fieldset>
<p class="form-actions">
<input type="submit" name="submit" id="submit" value="send" class="btn btn-primary">
</p>
</form>
</p>
然后是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);
});
}
});
推荐阅读
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
jQuery的isPlainObject()方法该如何使用
-
文本jquery.dotdotdot.js插件的使用方法详解
-
使用Java获取html中Select,radio多选的值方法
-
ios使用AVFoundation读取二维码的方法
-
基于使用递归推算指定位数的斐波那契数列值的解决方法
-
使用java获取md5值的两种方法
-
Java文件读取写入后 md5值不变的实现方法
-
Asp.net中使用文本框的值动态生成控件的方法
-
使用Java获取html中Select,radio多选的值方法