JQuery的Validation插件中Remote验证的中文问题_jquery

根据上次的经验,我将

复制代码 代码如下:

contentType: "application/x-www-form-urlencoded; charset=utf-8",

加入到ajax请求的参数中,结果这次居然不起作用了。

多次观察Fiddler结果,发现无效后,只好打开JQuery.Validation.js寻求答案了。

在remote的代码中,我发现:

复制代码 代码如下:

...
var data = {};
data[element.name] = value;
$.ajax($.extend(true, {
url: param,
mode: "abort",
port: "validate" + element.name,
dataType: "json",
data: data,
....

原来插件自己定义了提交的数据,直接将要验证的数据以json格式传给服务器了。难怪针对form的编码定义无效。马上将value进行强制的编码encodeURIComponent(value),果然就好了!

后记:

这种方法在服务器代码处理的时候,必须显式地解码数据,通用性很差。于是,之后还是回到起点来研究更好的方法。

为了防止Validation插件对输入数据的处理,我试着采用自己的Option来覆盖Validation的Option定义:

复制代码 代码如下:

remote: {
url: "ajax.aspx?a=xxx",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: { txt1: function() { return $("#txt1").val(); } }
}

然后在服务器端代码中,取得Form数据中的对应数据,这样就避免了对Validation的修改,同时也满足了我的要求。
原文链接: http://www.luyuliang.com/post/chinese-issue-in-jquery-validation-plugin.aspx

时间: 2024-11-12 13:45:43

JQuery的Validation插件中Remote验证的中文问题_jquery的相关文章

关于JQuery的Validation插件中Remote验证的中文问题

contenttype: "application/x-www-form-urlencoded; charset=utf-8", 加入到ajax请求的参数中,结果这次居然不起作用了. 多次观察fiddler结果,发现无效后,只好打开jquery.validation.网页特效寻求答案了. 在remote的代码中,我发现:   ... var data = {}; data[element.name] = value; $.ajax($.extend(true, { url: param

jquery validation插件表单验证的一个例子_jquery

messages_cn.js <!--验证国际化,中文--> (不引用messages_cn.js是英文的提示,用了是中文) 复制代码 代码如下: required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a va

jquery Validation插件表单验证实例

本实例涉及到的验证有: 用户名:长度.字符验证,重复性ajax验证(是否已存在). 密码:长度验证,重复输入密码验证. 邮件:邮件地址验证. 固定电话:中国大陆固定电话号码验证. 手机号:中国大陆手机号码验证. 网址:网站URL地址验证. 日期:标准日期格式验证. 数字:整数.正整数验证,数字范围验证. 身份证:大陆身份证号码验证. 邮政编码:大陆邮政编码验证. 文件:文件类型(后缀)验证,如只允许上传图片. IP:IP地址验证. 验证码:验证码ajax验证. Sep17实例讲解表单验证插件Va

jquery validation-Jquery Validation插件在验证有错误时禁止提交

问题描述 Jquery Validation插件在验证有错误时禁止提交 Jquery Validation在输入长度不符合要求时也能提交, 怎么改成验证不通过就禁止提交? 解决方案 function check() { if(验证通过) { return true; } else { //验证不通过 return false; } }

jQuery配合coin-slider插件制作幻灯片效果的流程解析_jquery

今天为了做一个模板,来收集幻灯片插件,最终确定了两款比较合适的.coin-slider和nivoslider,为此,研究了一下午,从各个方面来实验这两款插件,究竟哪款比较适合.比较好. 当然,聪明的你看题目就已经知道了.我必须要吐槽一下nivoslider这个jquery插件.这两款插件,在看官方的demo时,这个插件的效果要比coin-slider好一些.看了一下教程,可以自定义的参数较多,貌似功能要更强大一下.于是我就首先研究了一下这款插件的使用方法.由于网上教程比较少,大部分都是直接复制的

基于jQuery的message插件实现右下角弹出消息框_jquery

1.$.messager.lays(width, height); 该方法主要用来定义弹出窗口的宽度和高度. 2.$.messager.anim(type,speed); 该方法主要定义窗口以什么样的方式和速度呈现. $.messager.anim("fade",1000); //以fadeIn的动画方式显示 $.messager.anim("show",1000); //以show的动画方式显示 3.$.messager.show(title,text,time)

jQuery.datatables.js插件用法及api实例详解_jquery

1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk.com/html/DataTables/Zero-configuration.html 2.DataTables的一些基础属性配置 "bPaginate": true, //翻页功能 "bLengthChange": true, //改变每页显示数据数量 "

自定义jquery模态窗口插件无法在顶层窗口显示问题_jquery

自定义一个jquery模态窗口插件,将它集成到现有平台框架中时,它只能在mainFrame窗口中显示,无法在顶层窗口显示. 解决这个问题的办法: 通过以下代码就可能实现在顶层窗口弹窗 复制代码 代码如下: $(window.top.document.body).append("<div id='dialog'></div>");

基于jQuery.Hz2Py.js插件实现的汉字转拼音特效_jquery

可以实现基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.插件自行下载.使用方法如下(注意修改jq的引入路径). <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>基于jQuery实现汉字转换成拼音代码</title> <