html用JQuery自定义表单验证。
首先来看看我的表单:
html部分:
<body><form method="post" action=""><div class="int"><label for="username">用户名:</label><!-- 为每个需要的元素添加required --><input type="text" id="username" class="required" /></div><div class="int"><label for="email">邮箱:</label><input type="text" id="email" class="required" /></div><div class="int"><label for="personinfo">个人资料:</label><input type="text" id="personinfo" /></div><div class="sub"><input type="submit" value="提交" id="send"/><input type="reset" id="res"/></div>
</form></body>
Jquery部分:
<script type="text/javascript">
//<![CDATA[
$(function(){/**思路大概是先为每一个required添加必填的标记,用each()方法来实现。*在each()方法中先是创建一个元素。然后通过append()方法将创建的元素加入到父元素后面。*这里面的this用的很精髓,每一次的this都对应着相应的input元素,然后获取相应的父元素。*然后为input元素添加失去焦点事件。然后进行用户名、邮件的验证。*这里用了一个判断is(),如果是用户名,做相应的处理,如果是邮件做相应的验证。*在jQuery框架中,也可以适当的穿插一写原汁原味的javascript代码。比如验证用户名中就有this.value,和this.value.length。对内容进行判断。*然后进行的是邮件的验证,貌似用到了正则表达式。*然后为input元素添加keyup事件与focus事件。就是在keyup时也要做一下验证,调用blur事件就行了。用triggerHandler()触发器,触发相应的事件。*最后提交表单时做统一验证*做好整体与细节的处理*///如果是必填的,则加红星标识.$("form :input.required").each(function(){var $required = $("<strong class='high'> *</strong>"); //创建元素$(this).parent().append($required); //然后将它追加到文档中});//文本框失去焦点后$('form :input').blur(function(){var $parent = $(this).parent();$parent.find(".formtips").remove();//验证用户名if( $(this).is('#username') ){if( this.value=="" || this.value.length < 6 ){var errorMsg = '请输入至少6位的用户名.';$parent.append('<span class="formtips onError">'+errorMsg+'</span>');}else{var okMsg = '输入正确.';$parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证邮件if( $(this).is('#email') ){if( this.value=="" || ( this.value!="" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value) ) ){var errorMsg = '请输入正确的E-Mail地址.';$parent.append('<span class="formtips onError">'+errorMsg+'</span>');}else{var okMsg = '输入正确.';$parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}}).keyup(function(){$(this).triggerHandler("blur");}).focus(function(){$(this).triggerHandler("blur");});//end blur//提交,最终验证。$('#send').click(function(){$("form :input.required").trigger('blur');var numError = $('form .onError').length;if(numError){return false;} alert("注册成功,密码已发到你的邮箱,请查收.");});//重置$('#res').click(function(){$(".formtips").remove(); });
})
//]]>
</script>
列外一个例子给不同标签添加不同的提示,将提示添加到指定位置(不破坏表结构),当然也可以加些小图片。
<pre name="code" class="java"><script type="text/javascript">$(document).ready(function () {$('input').blur(function () {var $parent = $(this).parent().parent().next();//this所在的td标签的下一个标签$parent.find(".formtips").remove();//验证色卡编号if ($(this).is('#cd_ID')) {if( this.value==""){var errorMsg = '色卡编号不能为空';//alert("aa");$parent.append('<span class="formtips onError">'+errorMsg+'</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证色卡名称if ($(this).is('#cd_Name')) {if (this.value == "") {var errorMsg = '色卡名称不能为空';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证配方编号if ($(this).is('#rp_ID')) {if (this.value == "") {var errorMsg = '配方编号不能为空';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证Lif ($(this).is('#lab_L')) {if (this.value > 100 || this.value < 0 || this.value == "") {var errorMsg = 'L的值范围0~100';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证Aif ($(this).is('#lab_A')) {if (this.value > 127 || this.value < -128 || this.value == "") {var errorMsg = 'A的值范围-128~127';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//验证Bif ($(this).is('#lab_B')) {if (this.value > 127 || this.value < -128 || this.value == "") {var errorMsg = 'L的值范围-128~127';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//材料if ($(this).is('#rp_Material')) {if (this.value == ""||this.value==null) {var errorMsg = '材料不能为空';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}//配方来源if ($(this).is('#rp_Source')) {if (this.value == "") {var errorMsg = '配方来源不能为空';$parent.append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}}});$('#cd_Instruction').blur(function () {//用途说明$(this).parent().parent().next().find(".formtips").remove();if (this.value == "") {var errorMsg = '用途说明不能为空';$(this).parent().parent().next().append('<span class="formtips onError">' + errorMsg + '</span>');} else {var okMsg = '输入正确.';// $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');}});$('#submit').click(function () {$("form :input").trigger('blur');var numError = $('form .onError').length;if (numError) {return false;}});});</script>
给定一行格式:
<tr><td><em>* </em><label>色卡编号:</label></td><td><div class="editor-field">@Html.TextBoxFor(model => model.cd_ID, new { @class="required" })</div></td><td></td></tr>
html用JQuery自定义表单验证。相关推荐
- Jquery ValidateEngine表单验证
Jquery ValidateEngine表单验证 用法:http://www.position-relative.net/creation/formValidator/demoValidators. ...
- html中表单的校验的插件,功能强大的jquery.validate表单验证插件
本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下 1 .表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助 ...
- JQuery.validationEngine表单验证插件
一.说明 JQuery.validationEngine表单验证控件功能强大,自带了样式显示模式: 1.字符类型:非空验证.最大长度.最小长度.相等判断.数字和空格.数字和英文字母 2.数字类型:数字 ...
- 整理的16个有用的jQuery Form(表单)验证教程
表单在每个网站开发者必不可少的组成部份,而最烦繁的也是表单验证部份,借助于jQuery一些现有成熟的插件,可以大大减少我们的开发工作量以及减少很多重复出现的问题 ,这篇文章将整理出非常好的16篇非常有 ...
- 基于jQuery的表单验证插件:jValidate
网上基于jQuery的表单验证插件已有很多,但是这个轮子我还是继续做一个,因为这个表单验证插件是从我以前的个人JS框架移值过来的(我已慢慢投入jQuery的怀抱),并且它的验证规则书写方式也许会让你眼 ...
- jQuery的表单验证
jQuery的表单验证 直接上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- JQuery实现表单验证(注册页面)
注册页面功能实现: 验证会员名密码不能为空或者包含空格,并且保证长度至少6位 验证邮箱符合规则,并且不能为空 重复密码要与密码一致 1.页面的样式 <form action="#&qu ...
- Django 表单验证之自定义表单验证器
本文基于Django 表单验证 一文,补充完善表单验证器之自定义表单验证器 具体步骤总结如下: 第一:在formValidation.py 文件中,添加自定义名称敏感验证器(NameValidatio ...
- 表单验证与自定义表单验证
/ 验证规则 rules: { // 多个验证用数组 单个验证用对象// 验证账号acc: [{ required: true, message: '不能为空', trigger: 'blur' }, ...
最新文章
- verilog中数组的定义_systemverilog中的数组操作
- 第二次启用httpd24调用mysql时出现的错误
- C++ 重载new和delete运算符
- MySQL:Left Join 这个坑,千万别踩!
- Matlab中TCP通讯-实现外部程序提供优化目标函数解
- 不挂载 组件渲染_12、全局组件和局部组件
- Boost C++ 库 中文教程(全)
- linux mint 下如何制作win7启动盘
- 生活中的逻辑谬误03.滑坡谬误
- 面经——嵌入式常见面试题总结100题(下)
- @synthesize 和 @dynamic 分别表示什么
- 二十八条改善 ASP 性能和外观的技巧
- 理解HTTP Referer
- 在x86和arm混合部署架构下排查TiKV节点内存占用极高的问题
- 校园闲置物品(跳蚤市场)交易平台的设计与实现
- python实现一个简单的http服务器
- 热爱生活,更热爱代码
- caj文件打不开显示内存不足_面向大数据的高效存储容量缩减技术研究
- linux网络编程一
- Hive基于搜狗搜索的用户日志行为分析
热门文章
- QIIME 2用户文档. 14数据评估和质控Evaluating and controlling(2019.7)
- NAR:rrnDB-16S拷贝数校正数据库
- R语言问题解决:Error: Discrete value supplied to continuous scale
- R语言编写自定义函数自定义ggplot图像中的图例(legend)的位置、图例标题、键值、文本字体大小(title、text、key)、颜色标识的大小、点形状pch的大小
- R语言ggplot2可视化为复杂图自定义图例、手动构造图例(legend)实战
- R语言ggplot2可视化将图例移动到分面图(facet)中的空白分面区域实战
- _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost
- python使用textwrap包在已经生成的长字符串中嵌入回车符实战
- java矩形碰撞检测_旋转矩形的Java碰撞检测?
- R语言包_plotly