1,什么会触发表单校验
(a)文本框失去焦点
(b)点击按钮
(c)提交表单
2,有哪几种校验方式
(1)同步方式
为空判断,格式判断(包括长度判断)
(2)异步方式
通过ajax(获取jsonp)调用后台接口来校验
下面的校验就会有问题
inputs.push( new TextBox(Cjt.byId('identityTF'), { validate: function () { if (this.el.value.length == 0) { tip.error(me._error.mobile_is_null); return false; }else if (!util.isMobileNo(this.el.value)){ tip.error(me._error.mobile_Format_wrong); return false; }else{ Cjt.get('/register/findUserIdentify', {uid: this.el.value}, function (resp) { console.log(resp); if(resp.exists && resp.exists==1){ tip.error("该手机已注册,您可直接<a href='/wap/login.html' >登录</a>"); return false; } }); } return true; } }) );
问题:在方法返回之后,ajax还没有执行完毕
解决方法:
common.findUserIdentify(mobileVal, function () { tip.error("该手机已注册,您可直接<a href='/wap/login.html' >登录</a>"); return false; }, function () { console.log('开始发送短信'); Cjt.post('/wap/bindMobile', data, function (resp) { console.log(resp); if (resp.result) { tip.success('验证码已发送,请查收'); sendCodeBtn.disable($(node)); me._data.bind.secondCount = 10; console.log(me._data); me._data.bind.intervalHook = setInterval(SMSbtnTiming, 1000); } else {//发送短信验证码成功,开始倒计时 tip.error(resp.errorMessage); } }) })
---------- 2016年5月9日更新 ---------
表单校验规则:
(1)第一次进入表单页面,校验所有输入控件,但是不显示任何错误提示
(2)文本框失去焦点时校验所有输入控件(文本框,复选框等),但是只有本文本框显示错误提示,其他文本框不显示错误提示
(3)取消选中"协议"时,不校验表单,直接使"立即购买"置灰.
因为没有必要校验表单,都不同意协议了,肯定不允许购买.
下单页校验规则:
(a)进入下单页时,校验所有输入控件(文本框,复选框等),决定"立即购买"按钮是否可用,但是不显示任何错误提示;
(b)编辑输入框时,不校验,只有失去焦点才校验,若校验不通过,则显示本输入控件的错误提示;
在输入(keyup)过程中会实时计算价格
(c)取消选中"同意《畅捷通租凭服务协议》"时,不校验表单,"立即购买”按钮置灰;
(d)选中"同意《畅捷通租凭服务协议》"校验表单,但是不显示任何错误提示
相关推荐
原生JS经典小项目-form表单校验
通用的表单校验JS,只需要导入Js文件就行。
公共JS校验,提供了常见的JS前台表单校验
表单校验文件下载 解压后上myeclipse可以直接运行
这个前端的jquery的表单校验插件,使用起来很方便,可以大大的减少我们开发者对于表单校验的工作。而且支持自定义验证规则,功能强大。
jQuery的表单校验插件validate
依赖jQuery的表单校验脚本,在使用此脚本之前请先引入jQuery文件
jquery的基础使用和表单校验插件的使用。
JS校验工具类,已经过测试。包含: 1.校验特殊字符 2.限制表单输入长度 3.是否包含小数 4.校验是否身份证号码 5.校验是否是中文 6.校验是否包含数字
JavaScript的form表单验证中的身份证校验
我看到过的表单校验最好的插件 里面涵盖挺多方面的,很实用!
传 参 ,校验表单,支持正则,文本长度,ajax, 自定义函数校验。
校验表单,支持远程校验
通用的js表单校验脚本
ext_表单提交_数据校验 ext_表单提交_数据校验
用于动态的表单信息校验,不利于传统的校验
简单的网页用户注册表单的校验,提供给大家学习,借鉴,完整代码已经打包,欢迎下载。截取一部分代码,如下: function checkuser(){//检查用户名的方法 var usernameNode=document.getElementById("username");//...
jQuery表单校验插件validate实例代码集 有多个表同的表单,来共同展现表单验证插件的各种用法,包括判断字符、输入为空、类型判断、适时Ajax方式提示等,通过这些实例可快速掌握验证的方法和要点,此前,源码爱好者...
你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。目前支持5种大的校验方式,分别是:inputValidator(针对input、textarea、select...
jquery表单前台校验,但是不兼容IE8,自己另寻解决办法