手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >formValidator3.3的ajaxValidator一些异常分析
formValidator3.3的ajaxValidator一些异常分析
摘要:ajaxvalidator是大家问的最多的问题,修正一个bug(感谢网友“じ龍峸√”),并把大家最关心的问题,再做一次阐述。bug现象:无论...

ajaxvalidator是大家问的最多的问题,修正一个bug(感谢网友“じ龍峸√”),并把大家最关心的问题,再做一次阐述。

bug现象:无论校验有没有校验通过,当控件再次得到焦点而再次失去焦点的时候tip里的提示就会停滞在得到焦点的提示

历次升级的相关记录:

a、为AjaxValidator添加一个addidvalue属性(是否自动添加id和值到url参数后面)

为了修复AjaxValidator在配置信息的时候,取不到运行时候值的bug,插件将自动在url后面自动添加,形式为"id=value"的网页参数。

在服务器端,你可以通过Request.querystring["id"]来取值。 具体演示请看demo1里的用户名输入和Default.aspx

异常说明:

开发过程中仍会出现乱码问题

例如:

复制代码 代码如下:

$("#thename").formValidator({onfocus:"用户名至少6个字符,最多40个字符",oncorrect:"输入格式正确"}).inputValidator({min:6,max:40,onerror:"你输入的用户名非法,请确认"})//.regexValidator({regexp:"username",datatype:"enum",onerror:"用户名格式不正确"})

.ajaxValidator({

type : "get",

url : "login.do",

data:"action=isExist",

datatype : "xml",

success : function(data){

root = data.documentElement;

var rowSet = root.selectNodes("//delete");

if( rowSet.item(0).selectSingleNode("value").text == "0" )

{

return true;

}

else

{

return false;

}

},

buttons: $("#saveId"),

error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},

onerror : "该用户名不可用,请更换用户名",

onwait : "正在对用户名进行合法性校验,请稍候..."//function(){alert($("#pcode").val());}

});

说明:

data:"action=isExist&thename="+$('#thename').val(),这种方式是失效的,因为$('#thename').val()是固定不变的,而且是初始值,通常为空.

修改源码:

formValidator.js

//ajax校验

ajaxValid : function(returnObj)的方法中

var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(srcjo.val());

改为:

var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(encodeURIComponent(srcjo.val()));

因为只有通过前台两次编码,后台一次解码就可以解决乱码问题

thename=java.net.URLDecoder.decode(thename,"UTF-8");

注意前台必须编码两次,否则会仍是乱码.

【formValidator3.3的ajaxValidator一些异常分析】相关文章:

JQuery中上下文选择器实现方法

js实现点击链接后延迟3秒再跳转的方法

JavaScript中的异常处理方法介绍

Javascript实现div的toggle效果实例分析

JavaScript基于setTimeout实现计数的方法

javascript插件开发的一些感想和心得

判断Checkbox和Radio的一种方法

浏览器检测JS代码(兼容目前各大主流浏览器)

原生javascript实现解析XML文档与字符串

使用RequireJS优化JavaScript引用代码的方法

精品推荐
分类导航