jquery.validate验证表单配合回调提交和h5.storage本地保存笔记
- 表单验证插件我使用:jquery.validate.js 支持中文提示,可扩展性强!教程地址
- 本地保存状态信息使用:h5提供的storage,浏览器支持5m的存储量,存储类型必须是string类型,并且ie8以下不支持,详细介绍看大神的。
- 我使用的库文件v1.15的 密码:3sfb
简单介绍说明一下吧,但对于搬运工可能就会跳过去了,仅以此作为复习。
- jquery.validate.js是通过元素name来获取的,和id没有关系
- jquery.validate.js必须引入messages_zh.js 中文提示包
- storage是永久保存信息,比cookie存储的多,有5m容量,但是多了也卡。并且只能保存字符串类型
实例代码:
//结构:一个原始的表单
<form action="/" id="commentForm">
<label for="username">
用户名:<input type="text" id="username" name="username">
</label>
<label for="password">
密码:<input type="password" id="password" name="password">
</label>
<label for="sub">
<input type="submit" id="sub" name="sub" value="提交">
</label>
</form>
//引入库文件
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="jquery-validation-1.15.1/dist/jquery.validate.min.js"></script>
<script src="jquery-validation-1.15.1/dist/localization/messages_zh.min.js"></script>
//验证代码
$('#sub').on('click',function () {
$("#commentForm").validate({
onsubmit:true, //在提交时验证
onfocusout:false,//在得到焦点时是否验证
onkeyup :false,//在键盘弹起时验证
rules: {
username: {
required: true,
minlength: 2
},
password: {
required: true,
minlength: 5
}
},
messages: {
username: {
required: "<span style='color: red'>请输入用户名</span>",//只以dom形式展示可以自定义dom
minlength: "<span style='color: red'>用户名必需由两个字母组成</span>"
},
password: {
required: "<span style='color:red'>请输入密码</span>",
minlength: "<span style='color:red'>密码长度不能小于 5 个字母</span>"
}
},
submitHandler: function(form) { //验证成功时调用
//alert('ok');
h5storage($('#username').val(),$('#password').val())//调用storage本地保存
},
invalidHandler: function(form, validator) { //不通过回调
alert('验证不通过');
return false;
},
debug:true
});
})
//为了偷懒,我就把增删查改都写出来了,因为它只接受字符串所以在使用json的时候要对json解析,同理获取的时候也要转化。
//h5本地存储
function h5storage() {
var uid=arguments[0],passw=arguments[1];
if(!window.localStorage){
alert("浏览器不支持支持localstorage");
}else{
//主逻辑业务
//1.写入
var storage=window.localStorage;
//写入a字段
storage["uid"]=uid;
//写入c字段
storage.setItem("passw",passw);
//console.log(typeof storage["passw"]+'=='+storage['passw']);
//console.log(typeof storage["uid"]+'=='+storage.uid);
//2.获取
//第一种方法读取
var a=storage.uid;
//console.log(a);
//第二种方法读取
var b=storage["passw"];
//console.log(b);
//第三种方法读取
var c=storage.getItem("passw");
//console.log(c);
//3.修改
storage.setItem("passw",333333);
//console.log(storage["passw"])
//4.删除
//storage.clear();//删除全部
//console.log(storage.uid+'和'+storage.passw)
//storage.removeItem('passw')//某个键值对删除
//console.log(storage.uid+'和'+storage.passw) //解析json数据传入
var data={
name:'宋宇',
sex:'男',
hobby:'program'
};
var d=JSON.stringify(data);//转成字符串
storage.setItem('data',d);
//获取到json字符串后转成json对象输出
var json=storage.getItem('data');
var jsonObj=JSON.parse(json);
console.log(jsonObj)
}
}
呼呼~搬运代码真累啊,重在理解和运用。代码不重要,重要的是罗百吉。
jquery.validate验证表单配合回调提交和h5.storage本地保存笔记的更多相关文章
- jquery.validate验证表单
添加引用 <script src="/${appName}/commons/js/validate/jquery.validate.min.js"></scrip ...
- Jquery validate验证表单时多个name相同的元素只验证第一个的问题
下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码: 修复jquery.validate插件中name属性相同(如name='a[]')时验证的bug 使用jquery. ...
- jquery.validate和jquery.form配合实现验证表单后AJAX提交
基础代码其实很简单,之后一点一点扩充.最终代码写在最后. 表单: <form action="@Url.Action("AddColumns","Cont ...
- 异步提交form的时候利用jQuery validate实现表单验证
异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则 // 电话号码验证 ...
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- 第一百八十六节,jQuery,验证表单插件,Ajax 表单插件,验证和提交表单
jQuery,验证表单插件,Ajax 表单插件,验证和提交表单 HTML <form id="reg" method="post" action=&quo ...
- 基于Jquery Validate 的表单验证
基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...
- 基于Bootstrap+jQuery.validate Form表单验证实践
基于Bootstrap jQuery.validate Form表单验证实践 项目结构 : github 上源码地址:https://github.com/starzou/front-end- ...
- jQuery.validate.js表单验证插件
jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...
随机推荐
- Codeforces Round #202 (Div. 2) B,C,D,E
贪心 B. Color the Fence time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- FreeRTOS - 调度器
原文地址:http://www.cnblogs.com/god-of-death/p/6942641.html 绝大多数情况下,调度器的配置如下: 下面的说明基于上面的调度器配置: 如果有更高优先级的 ...
- linux内网机器如何查看本地外网ip
参考自:http://www.gaojinbo.com/linux%E5%86%85%E7%BD%91ip%E7%9A%84%E6%9C%BA%E5%99%A8%E5%A6%82%E4%BD%95%E ...
- Linux目录结构nginx
alias 别名( 永久 ) 1.vim /root/.bashrc 2. alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33 ...
- 元类编程--__getattr__, __getattribute__
#__getattr__, __getattribute__ #__getattr__ 就是在查找不到属性的时候调用 from datetime import date class User: def ...
- bzoj 4552: [Tjoi2016&Heoi2016]排序——二分+线段树
Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这 ...
- Linux系统文件权限体系详解
准备工作:先简单了解Linux文件权限 在Linux系统中,ls -l 命令可以查看文件的权限,如 [zhaohuizhen@localhost Test]$ ls -l a -rw-rw-r--. ...
- .net XmlHelper xml帮助类
using System.Data; using System.IO; using System.Xml; using System.Xml.Serialization; /// <summar ...
- crontab 详解 -- (转)
cron 是一个可以用来根据时间.日期.月份.星期的组合来调度对重复任务的执行的守护进程. cron 假定系统持续运行.如果当某任务被调度时系统不在运行,该任务就不会被执行. 要使用 cron 服务, ...
- servlet线程不安全
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAE9CAIAAABY1Yv/AAAgAElEQVR4nOy9eVxN2/8/viuaU5kqZW