`

formValidator ajax 乱码问题

    博客分类:
  • ajax
 
阅读更多

但是用到这个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 这样就搞定 ,希望能帮到大家 。



分享到:
评论

相关推荐

    AJAX formValidator 输入验证

    AJAX FormValidator 是一个常用的客户端验证工具,它结合了AJAX技术,能够在不刷新整个页面的情况下进行实时验证,提高用户体验。本篇文章将深入探讨AJAX FormValidator 在ASP.NET中的应用以及相关知识点。 一、...

    formvalidator验证插件中有关ajax验证问题

    jquery formvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJAX提交时,就不能按传统的做法了

    ajax用户验证-formValidator3.3

    在本文中,我们将探讨`formValidator3.3`这一Ajax用户验证工具的特性、使用方法以及它如何适应多种编程语言环境。 **formValidator3.3组件** `formValidator3.3`是一款强大的前端验证库,设计用于简化用户输入的...

    formvalidator

    "formvalidator"是一款基于JavaScript的表单验证插件,它以其全面性和强大的功能在Web开发领域中被广泛使用。此插件专门针对HTML表单设计,旨在解决开发者在处理用户输入验证时遇到的各种问题,从而提高用户体验并...

    jQuery formValidator表单验证

    jQuery formValidator是一款基于jQuery库的高效、灵活的表单验证插件,旨在帮助开发者轻松实现对用户输入数据的实时验证,提高用户体验并确保数据的准确性和完整性。它提供了丰富的验证规则,可以覆盖大部分常见的...

    表单验证、字段ajax验证 formValidator.1.7

    在IT行业中,表单验证和字段的Ajax验证是前端开发中的关键环节,它们确保了用户输入数据的质量和安全性。`formValidator.1.7`是一个专门用于实现这一目标的工具,它提供了强大的验证功能和实时反馈机制,提升了用户...

    jQuery.FormValidator.chm

    jQuery.FormValidator.chmjQuery.FormValidator.chmjQuery.FormValidator.chmjQuery.FormValidator.chm

    formValidator

    formValidator通过添加特定的属性和CSS样式,可以实现对表单字段的实时验证和反馈,提供错误提示,使得用户在提交前就能发现并修正错误。 formValidator的核心功能包括: 1. **字段验证**:支持多种验证规则,如...

    formValidator1.3.rar

    "formValidator1.3.rar" 是一个压缩包文件,其中包含了一系列与前端表单验证相关的资源。formValidator 是一个常见的JavaScript验证库,主要用于在网页上实现用户输入的实时验证,提高用户体验并确保数据的准确性。...

    jQuery formValidator表单验证插件示例源码.rar

    jQuery formValidator还支持异步验证,例如通过Ajax向服务器发送请求验证用户输入。这在处理注册或登录等需要校验用户名是否已存在的情况非常实用。 此外,插件提供了多种自定义样式的方式,允许开发者根据项目需求...

    jquery 表单插件 formvalidator

    FormValidator 提供了`onSubmit`回调,允许你在表单提交前进行额外的处理,比如发送AJAX请求。你可以阻止默认的表单提交行为,使用异步方式提交数据。 总之,jQuery FormValidator 是一款强大的表单验证工具,通过...

    formValidator3.3

    在Web开发中,表单验证是必不可少的一个环节,它能够确保用户输入的数据符合预设的规则,从而避免因数据不合法引发的问题。formValidator3.3是一款基于jQuery的强大的表单验证插件,它的出现大大简化了前端验证的...

    jQuery formvalidator插件 API帮助文档

    **jQuery FormValidator插件API详解** jQuery FormValidator是一款强大的JavaScript验证插件,它极大地简化了网页表单的验证过程,提供了丰富的验证规则和灵活的API,使得开发者可以快速创建出符合业务需求的验证...

    jquery验证框架,formValidator4.0.1

    《jQuery验证框架FormValidator 4.0.1详解》 jQuery FormValidator 4.0.1是一款高效且易于使用的文本验证框架,它为开发者提供了强大的表单验证功能,简化了前端数据验证的复杂性,使得网页应用的用户体验更加完善...

    formvalidator 表单验证插件汇总

    **formvalidator 表单验证插件汇总** 在Web开发中,表单验证是必不可少的一环,它确保用户输入的数据符合预设的规则,避免无效数据的提交,提高用户体验。`formvalidator`是一款强大的JavaScript表单验证插件,适用...

    jQuery formValidator表单验证插件示例源码

    你可以通过配置`ajax`规则,向服务器发送请求验证数据。 **五、分组验证** 如果表单中有多个相关的输入字段,可以将它们分组验证,只有当整个组都验证通过时,表单才能提交。 **六、Demo分析** 压缩包中的示例文件...

    formValidator-4.1.3

    这个修改版旨在解决开发者在升级到新版本时面临的代码适配问题,避免因升级导致的项目改动过大而产生的困扰。 表单验证是网页开发中的重要环节,它确保用户输入的数据符合预设的规则,从而防止无效数据的提交,提高...

    jQuery_formValidator使用文档

    - **ajaxValidator**:异步验证,通过发送AJAX请求到服务器进行验证,支持GET或POST方式,自定义数据、回调函数等。 每种验证方式都有其特定的初始参数,例如`ajaxValidator`的`url`参数用于指定服务器端验证的URL...

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

    从给定的文件信息中,我们可以提取并详细说明有关jquery formValidator插件、ajax验证以及如何解决一个特定bug的知识点。 1. jquery formValidator插件简介: jquery formValidator是一个用于表单验证的jQuery插件...

Global site tag (gtag.js) - Google Analytics