jQuery validate ie7
更新:HHH   时间:2023-1-7


环境:

jquery 1.7.2
jquery.validate.1.12.0

IE7 


今天用validate.js, 在IE7上一直报错, 网上查了下资料,原因基本都是一下2个:
1. 自己的代码中有多余的逗号

2. 在源码中29~30行(我下载的文件里)

// Add novalidate tag if HTML5.

this.attr( "novalidate", "novalidate" )

修改为:
// Add novalidate tag if HTML5.
if (typeof(Worker) !== "undefined") {this.attr("novalidate", "novalidate")}


都不符合我的情况...在IE11调试了一下, 发现是
627行:customDataMessage: function( element, method ) {...}
933行:  dataRules: function( element ) {...}

中存在method[ 0 ] 这种写法, 而method是个String, IE7中没有这种写法, 其他浏览器(chrome, FireFox, IE8+)则可以. 
将method[ 0 ] 修改为: method.charAt(0) 或者 method.slice(0,1) 都可以解决该问题.


返回web开发教程...