我正在使用来自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等,让我知道你会改变什么。
非常感谢您的帮助!
谢谢,
马丁。
答案 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}}?