jQueryvalidation不能在IE7 + IE8中工作

我试图在我的网站上的窗体上使用jQueryvalidation插件。 该表单在FF,Chrome,Opera和Safari中可用。 它还没有在IE7或IE8的工作。

下面是我的代码的简化版本,似乎在每个浏览器,但IE浏览器工作。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Form</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.js"></script> <script type="text/javascript"> $(document).ready(function(){ var validator = $("form").validate ({ rules: { first_name: "required" }, messages: { first_name: "Enter your firstname" } }); }); </script> </head> <body> <form method="post"> <label for="first_name" class="hide">First Name</label> <input type="text" name="first_name" value="" id="first_name" class="required" /> <button type="submit" id="submit" name="submit">Submit</button> </form> </body> </html> 

编辑:我们现在知道,使用jQuery最新,我使用jQuery v1.6,是问题。 我改回到v1.5.2并改变了

 var validator = $("form").validate ({ 

至:

 $("form").validate ({ 

现在一切都在IE中工作。 谢谢。

我想你要么回到早期版本的jquery(1.5.2),要么使用新版本的validation插件1.8.0.1。

当您在Visual Studio中创build一个新的ASP.NET MVC 3项目时,您的脚本文件夹将默认包含:

 jquery-1.5.1.min.js jquery.validate.min.js (which is version 1.8.0) 

你可能想要做的第一件事就是将jquery版本更新到最新版本,现在是1.7.1版本

这样做后,您的客户端validation将停止在Internet Explorer 7和Internet Explorer 8中工作

这是因为jquery.validate版本与jquery版本> 1.6不兼容 。 解决scheme很简单,你也需要更新你的jquery.validate版本。

你可以在这里find微软CDN的最新版本1.9或者GitHub的最新版本:

Microsoft Ajax CDN: http : //ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js

GitHub Jqueryvalidation: https : //github.com/jzaefferer/jquery-validation/downloads

请记住,您始终可以在Microsoft®CDN中find最新的JavaScript库,请参阅可用库的完整列表: http : //www.asp.net/ajaxlibrary/cdn.ashx

这个信息来自我的博客文章关于这个问题

对于它的价值,我不得不升级到最新的JQuery(1.8.2在这个时候)和validation(1.10)来解决这个问题。

我在IE7 / IE8中遇到了jquery.validate.js问题。 debugging后,我注意到以下行导致了问题(版本1.7中的436):

 return $([]).add(this.currentForm.elements) .filter(":input") 

用这样的东西replace这两行:

 return $(':input', this.currentForm) 

这对我来说是诀窍。

我只是有这个问题,但问题不是我需要的最新版本的jQuery – 这是最新版本的jQuery造成的问题。 Jquery 2.x目前不支持IE,因此请确保您使用的是1.8+,但不到2.0。

我在使用jqueryui自动完成获取错误“脚本3:成员未find。jquery-1.8.2.min.js,第2行字符32075”只在IE(版本10)中使用Sage CRM时出现同样的问题。 这个错误被捆绑在页面模式下:IE强制网站进入IE 7标准模式。

它是一个讨厌的黑客,但它运作良好。 把这个放在页面的开头。 我今天花了一个小时搞这个,希望这能帮助别人。

 <!DOCTYPE HTML> <meta http-equiv="x-ua-compatible" content="IE=Edge">