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 相关文章推荐
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
JqGrid web打印实现代码
May 31 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
老生常谈js-react组件生命周期
May 02 Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
Mar 07 Javascript
手把手教你如何编译打包video.js
Dec 09 Javascript
JavaScript canvas实现流星特效
May 20 Javascript
Vue全局事件总线你了解吗
Feb 24 Vue.js
使用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实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Python网络爬虫实例讲解
2016/04/28 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Python清空文件并替换内容的实例
2018/10/22 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
.net笔试题
2014/03/03 面试题
成立公司计划书
2014/05/07 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL