当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 使用jquery读取html5 localstorage的值的方法

使用jquery读取html5 localstorage的值的方法

2018年09月29日  | 移动技术网IT编程  | 我要评论

在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);
});
}
});

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网