jQuery验证在IE7+中不起作用;IE8

jQuery验证在IE7+中不起作用;IE8,jquery,internet-explorer,internet-explorer-8,internet-explorer-7,jquery-validate,Jquery,Internet Explorer,Internet Explorer 8,Internet Explorer 7,Jquery Validate,我正在尝试在我的网站上的表单上使用插件。该表单适用于FF、Chrome、Opera和Safari。它还没有在IE7或IE8中工作 下面是我的代码的简化版本,除了IE之外,它似乎适用于所有浏览器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Form</title> <script type="text/javascript

我正在尝试在我的网站上的表单上使用插件。该表单适用于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(1.5.2)的早期版本,或者使用较新版本的

在Visual studio中创建新的ASP.NET MVC 3项目时,默认情况下,您的脚本文件夹将包含以下内容:

jquery-1.5.1.min.js 
jquery.validate.min.js (which is version 1.8.0)
您可能要做的第一件事是将jquery版本更新到最新版本,即今天的版本1.7.1

执行此操作后,客户端验证将停止在Internet Explorer 7和Internet Explorer 8中工作

这是因为jquery.validate版本与jquery versions>1.6不兼容。解决方案很简单,您还需要更新jquery.validate的版本

您可以在Microsoft的CDN中找到当前版本1.9,也可以在GitHub中找到最新版本:

Microsoft Ajax CDN:

GitHub Jquery验证:

请记住,您总能在Microsofts CDN中找到最新的javascript库,请参阅此处可用库的完整列表:


此信息来自我关于此问题的信息

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

将这两行替换为以下内容:

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

这对我来说是个好办法。

无论如何,我必须升级到最新的JQuery(目前为1.8.2)并进行验证(1.10)才能绕过这个问题。

我只是遇到了这个问题,但问题不是我需要最新版本的JQuery——是最新版本的JQuery导致了这个问题。Jquery 2.x目前不支持IE,因此请确保您使用的是1.8+,但小于2.0。

我在Sage CRM上使用jqueryui autocomplete时遇到同样的问题,仅在IE(版本10)中出现错误“script3:member not found.Jquery-1.8.2.min.js,第2行字符32075”。这个错误被限制在页面模式中:IE强制站点进入IE7标准模式

这是一个令人讨厌的黑客行为,但效果很好。把这个放在这一页的开头。今晚花了我一个小时胡闹,希望这能帮助别人

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


下移到1.5.2并删除了“var validator=”以便我的第一行以$(“form”).validate开头。谢谢@redsquare有没有办法在没有nuget的情况下下载它?升级到1.9.0,现在可以在IE8中使用。在此之前,它显示错误消息,但正在提交FORM。我有以下内容。但是它仍然不起作用
jQuery-2.0.3,jQuery.Validation-1.11.1,Microsoft.jQuery.Unobtrusive.Validation-3.0.0
jQuery 2.0支持IE,但是为了让我们其他人更快地运行jQuery,他们已经放弃了所有只由过时(损坏)版本使用的额外代码。引述:“jQuery2.x与jQuery1.x具有相同的API,但不支持InternetExplorer6、7或8。”感谢您的回复,这对我有效,我的配置:jQuery1.9.1,我必须将jQueryValidate从1.15降级到1.9
return $([]).add(this.currentForm.elements)
            .filter(":input")
return $(':input', this.currentForm)
<!DOCTYPE HTML>
<meta http-equiv="x-ua-compatible" content="IE=Edge">