jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法_jquery

query formValidator插件非常好用,但是有一个严重的Bug,在使用ajax验证的时候,如果输入框的内容已经存在,把鼠标放到输入框,不做任何修改再离开,则会提示错误, 这是这个插件犯的一个很愚蠢的错误

复制代码 代码如下:

oneIsValid: function(id, index) {
var returnObj = new Object();
returnObj.id = id;
returnObj.ajax = -1;
returnObj.errormsg = ""; //自定义错误信息
var elem = $("#" + id).get(0);
var settings = elem.settings;
var settingslen = settings.length;
//只有一个formValidator的时候不检验
if (settingslen == 1) { settings[0].bind = false; }
if (!settings[0].bind) { return null; }
for (var i = 0; i < settingslen; i++) {
if (i == 0) {
if ($.formValidator.isEmpty(id)) {
returnObj.isvalid = true;
returnObj.setting = settings[0];
break;
}
continue;
}
returnObj.setting = settings[i];
if (settings[i].validatetype != "AjaxValidator") {
$.formValidator.triggerValidate(returnObj);
} else {
returnObj.ajax = i;

settings[i].isvalid = true;
}
if (!settings[i].isvalid) {
returnObj.isvalid = false;
returnObj.setting = settings[i];
break;
} else {
returnObj.isvalid = true;
returnObj.setting = settings[0];
if (settings[i].validatetype == "AjaxValidator") break;
}
}
return returnObj;
},

时间: 2024-09-16 16:10:44

jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法_jquery的相关文章

jquery validate在ie8下的bug解决方法_jquery

项目用到了jquery的表单校验插件validate,之前一直都只是做很简单的校验,没有做过稍微复杂的应用,近期项目对应用的要求提高了,一个页面中有两个提交按钮,然后表单校验是绑定在按钮的点击事件上的,如下.  然后很自然的就用到了插件的valid()函数:  这个确实能达到相要的效果,但是在ie8下竟然有问题,valid()方法始终返回false,而且所有的字段都会被当成必填字段校验,纠结了好久,因为jquery的插件代码都很复杂,所以刚开始看特别费劲,后来一步一步排查,找到问题了,问题出在a

Win7做主机设置共享时,提示&quot;错误0x000006d9&quot;,如何解决

现 象:Win7系统做主机设置共享时,提示"错误0x000006d9".   原 因:Windows Firewall服务未开启. 解决方法如下:  1.在电脑桌面上,右键点击[计算机]图标,选择[管理].   2.双击[服务和应用程序].   3.双击[服务],找到[Windows Firewall]并双击打开.   4.将[服务状态]设置为[已启动],点击[启动],再按[确定]保存即可.         完成上述操作后,Win7系统做主机设置共享就恢复正常了.

jquery validate插件ajax 验证重复的2种方法

简单说一下js代码,详细一点的看上面例子源码:  $(document).ready(function(){      jQuery.validator.addMethod("phonecheck", function(value, element) {   //添加一个phonecheck方法,来自定义check规则        string = value.match(/0(\d{2,2})-(\d{7,7})/ig);        if(string != null){   

jQuery formValidator表单验证插件开源了 含API帮助、源码、示例_jquery

2008-07-22 14:47  bug描述:ajaxValidator函数在提交后发生错误,停留在本页面后,再次触发校验会让提示内容一直处于onload状态. 这个bug已经修复,请重新下载.  2008/7/17 14:12:00 jQuery formValidator 3.1ver 1.为inputValidator增加empty属性.用于设置控件文本值是否允许两边为空.具体请看demo1里的密码的校验代码. 该属性是个对象,默认值{leftempty:true,rightempty:

jquery formvalidator邮箱地址验证

jquery formvalidator邮箱地址验证 var regstring='^[1-9]d*$';//string表示 var reg=new regexp(regstring);//string to regexp var reg=/^[1-9]d*$/;//直接写法 邮箱地址 w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)* formvalidator 怎么可能会出现如此低级的bug .自己输入一个email 地址 后边没有加 .com 居然提示正确.顿时哥

jQuery formValidator表单验证_jquery

作为一名程序员,在解决工作中遇到问题之后,做一些总结是有必要的,既方便总结温习相关知识点,也为广大的程序员提供了一些工作经历,给予同行一面明鉴. html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>formValidator</title> <script src="js/jq

Yii使用ajax验证显示错误messagebox的解决方法_php实例

本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法.分享给大家供大家参考.具体方法如下: yii 自带了ajax 表单验证 这个可能有些朋友不知道了,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,下面我来整理例子与大家参考一下. 在Yii中,可以利用ajax执行一个action,但是这个action有时候会有弹出错误讯息的需求,这时候的处理方式如下 基本思想 利用exception,比如: 复制代码 代码如下: throw new CHttpExcept

为什么有些IE浏览器不能显示绝对定位的内容?是版本问题?还是其他,有没有解决方法?

问题描述 为什么有些IE浏览器不能显示绝对定位的内容?是版本问题?还是其他,有没有解决方法? 解决方案 你的版本是什么,IE8或者以上用F12功能看下css怎么应用的. 解决方案二: 需要ie版本信息和使用的布局样式,再详细介绍下 解决方案三: IE绝对定位元素神秘消失或被遮挡的解决 在进行网页布局设计的时候,经常会根据需要设置相对,绝对以及浮动定位最近突然发现了一个奇妙的现象:IE绝对定位元素神秘消失或被遮挡 首先是IE绝对定位元素神秘消失设置的绝对定位元素突然从IE浏览器下消失了,然而火狐能

ASP.NET中实现jQuery Validation-Engine的Ajax验证_实用技巧

见下图: 验证的例子:http://www.position-relative.net/creation/formValidator/ 官方地址: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ 这个插件支持大部分的浏览器,但由于有使用到了css3的阴影和圆角样式,所以在IE浏览器下无法看到圆角和阴影效果(IE 9 支持圆角效果). 本文主要内容是