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 相关文章推荐
div层的移动及性能优化
Nov 16 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
canvas实现图像放大镜
Feb 06 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
将angular-ui的分页组件封装成指令的方法详解
May 10 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 Javascript
vue 实现把路由单独分离出来
Aug 13 Javascript
修改NPM全局模式的默认安装路径的方法
Dec 15 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
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
js三种排序算法分享
2012/08/16 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
Javascript的this详解
2019/03/23 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python中__call__用法实例
2014/08/29 Python
详解Python编程中time模块的使用
2015/11/20 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
python 画图 图例自由定义方式
2020/04/17 Python
浅析Python迭代器的高级用法
2020/07/16 Python
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
在C#中如何实现多态
2014/07/02 面试题
业务经理岗位职责
2013/11/11 职场文书
厨师岗位职责
2013/11/12 职场文书
硕士学位申请报告
2015/05/15 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android