使用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