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 相关文章推荐
javascript 面向对象的JavaScript类
May 04 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
Dec 15 Javascript
html的DOM中document对象anchors集合用法实例
Jan 21 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
Mar 05 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
jQuery实现textarea自动增长宽高的方法
Dec 18 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
原生js实现选项卡功能
Mar 08 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jQuery UI实现动画效果代码分享
Aug 19 jQuery
Vue.js实现tab切换效果
Jul 24 Javascript
js动态生成表格(节点操作)
Jan 12 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
xajax写的留言本
2006/11/25 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
逻辑链路控制协议
2016/10/01 面试题
材料专业大学毕业生自荐书
2014/07/02 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
财务人员岗位职责
2015/02/03 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
Nginx进程调度问题详解
2021/09/25 Servers