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


Posted in Javascript onJanuary 04, 2013

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

$ajax.post("...............") 
$.formValidator.initConfig({formID:"applyForm",onError:function(msg){alert(msg)}}); 
$("#reason").formValidator().inputValidator({min:1,onErrorMin:'请输入申请内容及原因'});

很遗憾,单这样是达不到AJAX FORM提交并同时用formvalidator校验的效果的。如果要同时使用formvalidator和ajax提交一起的话,首先看到的是formvalidtor手册中关于ajaxform的用法
$.formValidator.initConfig({theme:"Default",submitOnce:true,formID:"form1",ajaxForm:{ 
dataType : "html", 
buttons:$("#button"), 
url: "http://www.51gh.net/chkuser.aspx?act=ok" 
}, 
onError:function(msg,obj,errorlist){ 
$("#errorlist").empty(); 
$.map(errorlist,function(msg){ 
$("#errorlist").append("[*]" + msg + " 
") 
}); 
alert(msg); 
}, 
submitAfterAjaxPrompt : '有数据正在异步验证,请稍等...' 
});

看了下,这个方法看上去是可以的,但实际上,居然对中文支持不好,我的是
struts2,spring 3,tomcat也是用utf-8,sturts2等全部用UTF-8编码了,但居然还是说当取的
struts2的中文值的时候,说:
org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit.
解决方式见
http://www.iteye.com/problems/7099
但这个问题很奇怪,而且感觉用formvalidtor本身的方法太麻烦,所以就找了另外的方法,果然好用,那就是使用
if ($.formValidator.pageIsValid('1')==true) 
{ 
$.post("xxxxxxxxxxxxxxxxx") 
}

其他校验规则照样写,如果页面只有一个表单,则默认为1,这里的pageIsValid,是校验这个组的控件所有都通过校验了,就继续做某事,你看,这样就简单多了
Javascript 相关文章推荐
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
Jul 09 Javascript
JS实现随机化快速排序的实例代码
Aug 01 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
Nov 05 Javascript
Angularjs实现搜索关键字高亮显示效果
Jan 17 Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 Javascript
JavaScript判断日期时间差的实例代码
Mar 01 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
vue2.0 实现富文本编辑器功能
May 26 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 #Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 #Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 #Javascript
表单的焦点顺序tabindex和对应enter键提交
Jan 04 #Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 #Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 #Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 #Javascript
You might like
PHP6 mysql连接方式说明
2009/02/09 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python使用psutil模块获取系统状态
2016/08/27 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
实现向右循环移位
2014/07/31 面试题
什么是规则表达式
2012/05/03 面试题
党日活动总结
2014/05/07 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
老人节主持词
2015/07/04 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python