javascript - AP HTML 元素未从 IE6 和 IE7 中的正常 HTML 流中删除

标签 javascript html css internet-explorer-7 internet-explorer-6

我正在使用来自 bassistance (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) 的一个很棒的 jQuery 联系表单验证器,这正是我所追求的,并且在除 Internet 之外的所有浏览器中都能完美运行探索者 6 和 7。

我已经修改了 CSS,这样当输入错误或遗漏某些内容时,它不会显示错误消息,而是将 http://www.stephblack.co.uk/contact.html 上的文本区域/输入边框从灰色更改为红色。

我使用了以下 CSS:#contact_form label.error {position: absolute; left: -10000px;} 在大多数浏览器上工作正常。在 IE6&7 中不显示错误消息,但它会强制其下方的元素下降,使整个事情变得困惑。

我什么都试过了!左侧位置较大的 AP 是最容易实现的方式,所以我想继续使用它,但我已经尝试过 {display: none;}, {height: 0;宽度:0; overflow: hidden;}, 安装了 firebug lite 以确保我捕获了正确的元素。也许是 Javascript - 我已经尝试删除 jquery.validate.js 文件中的错误消息,但问题仍然存在。我不知所措,为此我花了几个小时:(

请随意查看网站上的代码 - HTML、CSS、Javascript 等,让我知道您要更改的内容。

非常感谢您的帮助!

谢谢,

马丁。

最佳答案

虽然我无法重现该错误,因为它在 IE7 中对我来说使用 CSS 时工作正常,但您可以试试这个,仍然可以访问并且只是剪辑错误消息的内容(这就是您想要的?)

#contact_form label.error {
  position: absolute;
  clip: rect(1px 1px 1px 1px); /* IE6 */
  clip: rect(1px, 1px, 1px, 1px);
}

我可能会改变的是不要在 label 中包含该错误消息 - 表单元素应该只有一个标签,因为您关心的是最好的可访问隐藏方法 - 但将其更改为div 或 span 不应影响 CSS(除了将 label.error 更改为 span.error 之外)


更新:根据评论

I took the jquery.validate.js and changed the line (207) errorElement: "span", from label - then the above code - #contact_form span.error - and probably your negative left positioning now works, for some reason IE7 is picking up the span but not the label?

关于javascript - AP HTML 元素未从 IE6 和 IE7 中的正常 HTML 流中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904558/

相关文章:

css - 如何从管理员在 Magento Commerce 页面中添加内联 css?

html - 是否可以为 HTML 提交按钮提供不止一种颜色?

javascript - FitText.js 不工作

javascript - SVG 过滤器在嵌入 JavaScript 时不起作用

javascript - iOS: [CFRunLoopTimer release]: message sent to deallocated instance 错误调试

php - 如何在 coldfusion 中分解来自 html 表单的数组?

html - 具有不同百分比宽度和边距的响应式 div

javascript - 同一页面上的多个拖放区会导致出现错误

javascript - 使用 JQuery 单击按钮选择多个列表项值

javascript - 使用 FormData 通过 AJAX 将文件发送到 ASP.NET MVC