异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则
    // 电话号码验证   
    jQuery.validator.addMethod("isPhone", function(value, element) {
        var tel = /^(\d{3,4}-?)?\d{7,9}(-?\d{1,4})?$/;   
        return this.optional(element) || (tel.test(value));   
    }, "请正确填写您的电话号码");

验证通过,表单提交。但我们常常会碰到这样的需求,当验证通过后,我不需要通过submit form的方式提交表单,我想要更灵活的通过ajax处理表单,加入很多动态的效果,提高客户体验,请看下面的例子:

有一个表单:
<form id="formId" action="">
    姓名:<input type="text" name="name">
    电话:<input type="text" name="phone">
    <input type="button" value="submit" onclick="doSubmit();">
</form>
以下是JS:
function doSubmit() {
        validateForm();//调用验证方法
        //do something else...
 }
function validateForm() {
        var validator = $("#formId").validate({
            errorElement: "em",
            success: function(em) {
                em.text("ok").addClass("success");//验证通过的动态CSS
            },
            submitHandler:function() {
                 ajaxSubmitForm();
            },//这是关键的语句,配置这个参数后表单不会自动提交,验证通过之后会去调用的方法
            rules: {
                name: {
                    required: true,
                    maxlength: 100
                },
                phone: {
                    isPhone: true
                }
            },
            messages: {
                name: {
                    required: "请填写姓名",
                    maxlength: "姓名不超过100个字符"
                }
            }
        });
    }
function ajaxSubmitForm() {
        var para = ;//组织参数
        var url = "/jajax/saveForm.do";
        $.ajax({
            type: "post",
            cache: false,
            dataType: "json",
            url: url,
            data: para,
            beforeSend: function(XMLHttpRequest){
                //do something before submit...
            },
            success: function(data, textStatus){
                //do something after submited...
            },
            complete: function(XMLHttpRequest, textStatus){
                //do something in the end...
            }
        });
    }

这样就非常灵活的完成了表单的验证和提交,其中很多时间节点都由我们自由的控制,加入任意你想做的事,是不是很方便呢...

异步提交form的时候利用jQuery validate实现表单验证的更多相关文章

  1. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  2. 基于Jquery Validate 的表单验证

    基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...

  3. jQuery.validate.js表单验证插件

    jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...

  4. jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  5. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  6. layer,Jquery,validate实现表单验证,刷新页面,关闭子页面

    1.表单验证 //获取父层 var index = parent.layer.getFrameIndex(window.name); //刷新父层 parent.location.reload(); ...

  7. 【转】jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  8. [转]jquery.validate.js表单验证

    原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...

  9. 表单验证代码实例:jquery.validate.js表单验证插件

    jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法.使用前请先下载必要的JQuery插件:jq ...

随机推荐

  1. 刷牙LeetCode思考

    时间已经到了不自觉地,3在五月中旬.今天正式LeetCode自由181刷牙的问题.感觉,以提高他们的算法非常有帮助. 第一个主要的深搜索,广泛搜索,DP他已经掌握7788.也有自己写的代码格公式,使用 ...

  2. 国外流行的共享网站实现:facebook,twitter,google+1,tumblr等待

    近期需要做相关的国外几个站点共享,本来我以为它会和weibo.在同样的烦恼空间,什么appkey啦,apptoken啦.api啦.结果非常意外的发现并非如此恼火. Twitter分享: https:/ ...

  3. android sdk linux 文本 64 位置

    android sdk linux 64 之前获得模.现在补上一,然后,小伙伴们下载 版权声明:本文博主原创文章,博客,未经同意不得转载.

  4. Android开发之异步具体解释(二)之AsyncTask

    请尊重他人的劳动成果,转载请注明出处:Android开发之异步具体解释(二)之AsyncTask http://blog.csdn.net/fengyuzhengfan/article/details ...

  5. 自己的包poi操作Excel工具

    在前面的文章<使用poi读写Excel>中分享了一下poi操作Excel的简单演示样例.这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完毕的功能是:读取Excel.汇总E ...

  6. 公交部署wifi热点,是否有必要?

    小城市.大城市,公交车永远匆匆路过的风景,他带我们到四方.马上.一些公交车也已覆盖免费wifi,只有在我看来,,路上wifi似乎没有太大用处.何出此言? 相比而言.在长途车.飞机.火车上构建wifi热 ...

  7. Tick and Tick------HDOJ杭州电(无法解释,直接看代码)

    Problem Description The three hands of the clock are rotating every second and meeting each other ma ...

  8. Swift使用单个案件管理FMDB数据库

    下班... 抢 我曾经Swift使用单一个案管理FMDB数据库的方法共享出来: // Created by 秦志伟 on 14-6-12. import UIKit class ZWDBManager ...

  9. Java数据结构系列——简单排序:泡、选择、直接进入

    package SimpleSort; public class SimpleSort { /** * 冒泡排序:每次循环过程中.小的排在后面的数会像水中的 * 气泡一样慢慢往上冒,所以命名为冒泡排序 ...

  10. 使用JAVA打开本地应用程序相关的文件

    在该项目中需要运行本地文件或应用程序,JDK6添加后Desktop类别.可以直接使用.这使得有可能在程序中无论什么应用程序可以打开的.例:打开pdf文件,当地福昕是默认打开.执行程序将使用福昕开放pd ...