在IE6和&amp ;;中,HTML HTML元素不会从正常的HTML流中删除。 IE7

时间:2011-05-05 21:54:54

标签: 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上将textarea /输入边框从灰色更改为红色

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

我已经尝试了一切!具有较大左侧位置的AP是最容易实现的方式,所以我想继续使用它,但我已经尝试{display:none;},{height:0;宽度:0;溢出:隐藏;},安装了firebug lite以确保我抓住了正确的元素。也许这是Javascript-我已经尝试删除jquery.validate.js文件中的错误消息,但问题仍然存在。我很茫然,我花了好几个小时:(

随意查看网站上的代码 - HTML,CSS,Javascript等,让我知道你会改变什么。

非常感谢您的帮助!

谢谢,

马丁。

1 个答案:

答案 0 :(得分:0)

虽然我无法重现错误,因为它在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


更新:每条评论

  

我拿了jquery.validate.js和   从errorElement: "span",改变了行(207)label - 然后是上面的行   代码 - #contact_form span.error - 和   可能是你的负面消息   由于某种原因,定位现在有效   IE7正在拿起span而不是label   {{1}}?