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& ...
随机推荐
- 监听scrollview
http://blog.csdn.net/u012527802/article/details/47320009
- Naming Company CodeForces - 794C
Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little thi ...
- Atlantis HDU - 1542 (线段树扫描线)
There are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some ...
- CSS3知识之立方体动画效果
效果图:
- mysql 事务,锁,与四大隔离级别
概念 事务 原子性:事务必须是一个自动工作的单元,要么全部执行,要么全部不执行. 一致性:事务结束的时候,所有的内部数据都是正确的. 隔离性:并发多个事务时,各个事务不干涉内部数据,处理的都是另外一个 ...
- 【Android】Android之Copy and Paste
Android为复制粘贴提供了一个强大的基于剪切板的框架,它支持简单和复杂的数据类型,包括纯文本,复杂的数据结构,二进制流,甚至app资源文件.简单的文本数据直接存储在剪切板中,而复杂的数据则存储的是 ...
- 问题BeanFactory not initialized or already closed - call 'refresh' before access
问题BeanFactory not initialized or already closed - call 'refresh' before access 2016-08-23 14:22 8565 ...
- 12.13记录//QQDemo示例程序源代码
笔记的完整版pdf文档下载地址: https://www.evernote.com/shard/s227/sh/ac692160-68c7-4149-83ea-0db5385e28b0 ...
- div 超出高度滚动条,超出宽度点点点
超出高度滚动条 style="width:230px; height: 180px; overflow: auto;" 超出宽度点点点 style="width: 220 ...
- javascript 变量类型判断
一.typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 "); typeof arr ...