我正在尝试在我网站上的表单上使用jQuery Validation插件。该表单适用于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中运行。感谢。
答案 0 :(得分:43)
我认为您需要回到早期版本的jquery(1.5.2)或使用较新版本的validation plugin 1.8.0.1.
答案 1 :(得分:16)
在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版本不兼容&gt; 1.6 即可。解决方案很简单,您还需要更新您的jquery.validate版本。
您可以在此处找到Microsoft的CDN当前版本1.9或GitHub的最新版本:
Microsoft Ajax CDN: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js
GitHub Jquery验证: https://github.com/jzaefferer/jquery-validation/downloads
请记住,您始终可以在Microsofts CDN中找到最新的JavaScript库,请在此处查看可用库的完整列表:http://www.asp.net/ajaxlibrary/cdn.ashx
此信息来自我blog post关于此问题的信息
答案 2 :(得分:5)
为了它的价值,我不得不升级到最新的JQuery(此时为1.8.2)和Validate(1.10)来解决这个问题。
答案 3 :(得分:4)
我在IE7 / IE8中遇到了jquery.validate.js的问题。调试后我注意到以下行引起了问题(版本1.7中的ln 436):
return $([]).add(this.currentForm.elements)
.filter(":input")
用以下内容替换这两行:
return $(':input', this.currentForm)
这对我有用。
答案 4 :(得分:1)
我刚刚遇到这个问题,但问题不在于我需要最新版本的jquery - 这是导致问题的最新版本的jquery。 Jquery 2.x目前不支持IE,因此请确保使用1.8+但小于2.0。
答案 5 :(得分:1)
我在Sage CRM上遇到了同样的问题,使用了jqueryui autocomplete获取错误&#34; script3:找不到成员。 jquery-1.8.2.min.js,第2行,第32075字符&#34;仅在IE(版本10)中。此错误与页面模式有关:IE正在强制网站进入IE 7标准模式。
这是一个讨厌的黑客,但它运作良好。把它放在页面的开头。今晚我花了一个小时搞乱这个,希望这有助于其他人。
<!DOCTYPE HTML>
<meta http-equiv="x-ua-compatible" content="IE=Edge">