使用jquery读取html5 localstorage的值的方法
在HTML 5中,localstorage是个不错的东西,在支持localstorage的浏览器中, 能持久化用户表单的输入,即使关掉浏览器,下次重新打开浏览器访问,也能读出其值, 下面给出的例子是使用jquery 在每次表单加载的时候,读localstorage的值,而在表单每次提交时则清楚其值的例子
首先是一个表单:
然后是js部分代码:
首先是一个表单:
代码如下:
<!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);
});
}
}); 相关推荐
KungLun 2020-02-03
wetyu 2020-08-02
PkJY 2020-06-17
拭血 2020-06-02
H女王范儿 2020-04-22
芯果科技蔡彦 2020-04-14
H女王范儿 2019-11-18
baynkbtg 2019-10-31
zjnig的信息仓库 2014-11-10
csdnInfo 2015-02-25
OldSoldier 2012-01-04
88264154 2015-12-27
大数据实战派 2015-12-31
Teresasmida 2017-04-05
MrSunOcean 2019-09-08
phillip 2019-04-15
xiluoenm 2013-05-16
LeavesYu 2019-07-01