IE 7 兼容模式中的 JQuery Unobtrusive 验证导致带有表单的页面出现 "Member Not Found"错误

标签 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 中选择“兼容性 View ”,导致网站无法正常运行。

我缺少什么/其他人也遇到过这个错误吗?

最佳答案

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

请引用JQuery Unobtrusive Validation Bug ticket # 12577

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

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

关于IE 7 兼容模式中的 JQuery Unobtrusive 验证导致带有表单的页面出现 "Member Not Found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013134/

相关文章:

html - 如何在 IE 10 的 IE 9、8 和 7 模式下删除十字标志和密码显示标志?

javascript - 如何在 IE 11 中以兼容模式强制执行 iframe

javascript - 显示模态对话框;在 IE 中打开一个新窗口

jquery ajax setTimeout 0 毫秒

javascript - 将 jQuery 转换为 Mootools

jQuery 延迟不起作用

javascript - 单击时使元素成为其父列表的第一个子元素

javascript - 让 jquery.load 在 HTML 加载之前发生

html - 如何在IE9兼容模式下使列宽适合其内容?