IE 7兼容模式下的JQuery不显眼验证会导致页面中出现“未找到成员”错误

时间:2013-04-15 10:39:32

标签: jquery ie-compatibility-mode

最近我在Internet Explorer中查看我的网站时发现了一个JQuery错误。该错误是源自JQuery源的“未找到成员”错误。我注意到兼容模式按钮被点击 - 取消点击这修复了错误,但我无法假设我的网站用户会如此乐于助人。从那以后,我使用不同的兼容模式测试了我的网站,似乎无法摆脱这个错误。

要重新创建错误,我将测试页面修剪为以下

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=IE7">
        <script src="/content/scripts/jquery-1.9.1.js"></script>
        <script src="/content/scripts/jquery.validate.js"></script>
        <script src="/content/scripts/jquery.validate.unobtrusive.js"></script>
        <title>IE Compatibility Test</title>
    </head>
    <body>
        <form>
        </form>
    </body>
</html>

注意:我使用的是JQuery Validation版本1.11.1和Microsoft JQuery Unobtrusive Validation版本2.0。当页面加载时,会发生“未找到成员”错误。我注意到删除表单标签会阻止错误发生。我也尝试过为表单提供名称和ID,但错误仍然存​​在。

我已经搜索了其他遇到此错误的人,但没有发现任何相关内容。这让我相信我做错了什么。我想解决这个问题,因为我担心我网站的用户会在IE中选择“兼容性视图”而该网站将无法正常运行。

我错过了什么/有其他人遇到过这个错误吗?

1 个答案:

答案 0 :(得分:4)

您使用的是IE 10吗?如果是,则更改为兼容模式为IE 7或8是一个错误。

请参阅JQuery Unobtrusive Validation Bug ticket # 12577

使用以下元数据确保使用最新的渲染引擎

<meta http-equiv="X-UA-Compatible" content="IE=edge">