1.12版jquery.validate IE8 兼容解决方案

搜索 formnovalidate

然后改成这种,也就是if中间注释

                    // allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
                    if ($(event.target).attr("formnovalidate") !== undefined) {
                        //validator.cancelSubmit = true;
                    }

 搜索elements 大概500行左右

  elements: function () {
                var validator = this,
                    rulesCache = {};

                // select all valid inputs inside the form (no submit or reset buttons)
                return $(this.currentForm)
                .find("input, select, textarea")
                .not(":submit, :reset, :image,:button, [disabled]")
                .not(this.settings.ignore)
                .filter(function () {
                    if (!this.name && validator.settings.debug && window.console) {
                        console.error("%o has no name assigned", this);
                    }

                    // select only the first element for each name, and only those with rules specified
                    if (this.name in rulesCache || !validator.objectLength($(this).rules())) {
                        return false;
                    }

                    rulesCache[this.name] = true;
                    return true;
                });
            },

 改成这种,然后 运行 会JS报错,然后调试 会提示 原生的js getattribute不存在啥的, 把那里用 替换成

$element.attr

 这样就行了

这是 IE8 兼容的应急方案

顺便说一句 我用的jquery 1.11.0 min

posted @ 2014-09-12 09:35  JamsBangdong  阅读(622)  评论(0编辑  收藏  举报