jquery.form 异步校验_jquery validate form 异步提交

jQuery("#select1  option:selected").text();

相信很多人都用过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处理表单,加入很多动态的效果,提高客户体验,请看下面的例子:

有一个表单:

姓名:

电话:

以下是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...

}

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值