我正在使用来自 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",
fromlabel
- then the above code -#contact_form span.error
- and probably your negative left positioning now works, for some reason IE7 is picking up thespan
but not thelabel
?
关于javascript - AP HTML 元素未从 IE6 和 IE7 中的正常 HTML 流中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904558/