但是用到这个AJAX功能的时候 碰到问题了
Html代码
jQuery("#name").ajaxValidator({ type:"post",url:"worker!findWorker.action",
success : function(data){
if( data == "1" ) return true;
else return false;
},
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "该姓名不可用,请更换用户名",
onwait : "正在对姓名进行合法性校验,请稍候..."
});
jQuery("#name").ajaxValidator({
type:"post",url:"worker!findWorker.action",
success : function(data){
if( data == "1" ) return true;
else return false;
},
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "该姓名不可用,请更换用户名",
onwait : "正在对姓名进行合法性校验,请稍候..."
});
其实验证时这个框架会自动将你的文本框的值取出来 然绑定在你的URL上 ,
这时候它的URL会变成这样worker!findWorker.action?name=value
value就是你文本框的时候
一般输入非中文的值的话 验证起来 是没有问题的 但是中文就会出问题
在上面这个脚本中,找了N久也没找到解决的方法,网上出现这个问题的人也挺多的,就是没有找到一个把这问题解决了的贴子 。
一般不熟的框架 出了问题 我习惯去瞧瞧它的源码
经过我对源码的分析 发现处理这个中文乱码的问题并不难
打开formValidator.js这个文件
找到
ajaxValid : function(returnObj)
{
....
}
这个方法的这行数据 var srcjo = $("#"+id) ;
我的工具上显示的是414行 我用的formValidator版本是3.5的 可能大家用的和我用的并不一样,但是这个代码在你们的版本里面一定找得到
下面教大家如何它修改
就将"var srcjo = $("#"+id) ;”这行数据改成如下:
var srcjo = $("#"+id).clone();
srcjo.val(encodeURI(srcjo.val()));这样就可以了
对jQuery熟的人肯定知道这两行代码的意思,不懂也没关系 ,我解释下
它的意思就是 将这个对象克隆一份 然后将value进uri编码
这样还不能完全处理乱码的问题
还需要在JAVA后台代码中进行解码 代码如下:
String name = URLDecoder.decode(
ServletActionContext.getRequest().getParameter("name"), "UTF-8");
OK 这样就搞定 ,希望能帮到大家 。
分享到:
相关推荐
jquery formvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJAX提交时,就不能按传统的做法了
ASp.net输入验证 AJAX formValidator 输入验证
jQuery.FormValidator.chmjQuery.FormValidator.chmjQuery.FormValidator.chmjQuery.FormValidator.chm
表单验证、字段ajax验证 formValidator.1.7
非常强大的jQuery formValidator表单验证 一档在手 代码不愁
formValidator 验证表单提交内容,界面美观,适用
formValidator3.3 jquery验证
formValidator1.3 下载了自己看吧,不错!
formvalidator-4.1.1.js
jQuery formValidator3.3表单验证文档说明jQuery formValidator3.3表单验证文档说明jQuery formValidator3.3表单验证文档说明jQuery formValidator3.3表单验证文档说明jQuery formValidator3.3表单验证文档说明...
简单易用漂亮的ajax验证用户控件,支持多种语言,C#,JAVA,PHP,ASP等,非常简单,下载解压即可使用。
jquery验证框架,formValidator4.0.1很不错的一款文本验证框架,简单易懂
jquery formValidator表单验证功能非常强大 比较流行
jQuery_formValidator 使用 文档
插件formValidator 试用于大型的表单提交
jQuery formValidator表单验证插件 强大又好用的插件
jQuery formvalidator插件 API帮助文档
很好用的表单验证插件,包含formValidator-4.1.3.js、formValidator-4.1.3.min.js、formValidatorRegex.js、jquery-1.4.4.min.js四个插件文件。