首先来看看我的表单:

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自定义表单验证。相关推荐

  1. Jquery ValidateEngine表单验证

    Jquery ValidateEngine表单验证 用法:http://www.position-relative.net/creation/formValidator/demoValidators. ...

  2. html中表单的校验的插件,功能强大的jquery.validate表单验证插件

    本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下 1 .表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助 ...

  3. JQuery.validationEngine表单验证插件

    一.说明 JQuery.validationEngine表单验证控件功能强大,自带了样式显示模式: 1.字符类型:非空验证.最大长度.最小长度.相等判断.数字和空格.数字和英文字母 2.数字类型:数字 ...

  4. 整理的16个有用的jQuery Form(表单)验证教程

    表单在每个网站开发者必不可少的组成部份,而最烦繁的也是表单验证部份,借助于jQuery一些现有成熟的插件,可以大大减少我们的开发工作量以及减少很多重复出现的问题 ,这篇文章将整理出非常好的16篇非常有 ...

  5. 基于jQuery的表单验证插件:jValidate

    网上基于jQuery的表单验证插件已有很多,但是这个轮子我还是继续做一个,因为这个表单验证插件是从我以前的个人JS框架移值过来的(我已慢慢投入jQuery的怀抱),并且它的验证规则书写方式也许会让你眼 ...

  6. jQuery的表单验证

    jQuery的表单验证 直接上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  7. JQuery实现表单验证(注册页面)

    注册页面功能实现: 验证会员名密码不能为空或者包含空格,并且保证长度至少6位 验证邮箱符合规则,并且不能为空 重复密码要与密码一致 1.页面的样式 <form action="#&qu ...

  8. Django 表单验证之自定义表单验证器

    本文基于Django 表单验证 一文,补充完善表单验证器之自定义表单验证器 具体步骤总结如下: 第一:在formValidation.py 文件中,添加自定义名称敏感验证器(NameValidatio ...

  9. 表单验证与自定义表单验证

    / 验证规则 rules: { // 多个验证用数组 单个验证用对象// 验证账号acc: [{ required: true, message: '不能为空', trigger: 'blur' }, ...

最新文章

  1. verilog中数组的定义_systemverilog中的数组操作
  2. 第二次启用httpd24调用mysql时出现的错误
  3. C++ 重载new和delete运算符
  4. MySQL:Left Join 这个坑,千万别踩!
  5. Matlab中TCP通讯-实现外部程序提供优化目标函数解
  6. 不挂载 组件渲染_12、全局组件和局部组件
  7. Boost C++ 库 中文教程(全)
  8. linux mint 下如何制作win7启动盘
  9. 生活中的逻辑谬误03.滑坡谬误
  10. 面经——嵌入式常见面试题总结100题(下)
  11. @synthesize 和 @dynamic 分别表示什么
  12. 二十八条改善 ASP 性能和外观的技巧
  13. 理解HTTP Referer
  14. 在x86和arm混合部署架构下排查TiKV节点内存占用极高的问题
  15. 校园闲置物品(跳蚤市场)交易平台的设计与实现
  16. python实现一个简单的http服务器
  17. 热爱生活,更热爱代码
  18. caj文件打不开显示内存不足_面向大数据的高效存储容量缩减技术研究
  19. linux网络编程一
  20. Hive基于搜狗搜索的用户日志行为分析

热门文章

  1. QIIME 2用户文档. 14数据评估和质控Evaluating and controlling(2019.7)
  2. NAR:rrnDB-16S拷贝数校正数据库
  3. R语言问题解决:Error: Discrete value supplied to continuous scale
  4. R语言编写自定义函数自定义ggplot图像中的图例(legend)的位置、图例标题、键值、文本字体大小(title、text、key)、颜色标识的大小、点形状pch的大小
  5. R语言ggplot2可视化为复杂图自定义图例、手动构造图例(legend)实战
  6. R语言ggplot2可视化将图例移动到分面图(facet)中的空白分面区域实战
  7. _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost
  8. python使用textwrap包在已经生成的长字符串中嵌入回车符实战
  9. java矩形碰撞检测_旋转矩形的Java碰撞检测?
  10. R语言包_plotly