【问题标题】:AP HTML element isn't removed from the normal flow of HTML in IE6 & IE7AP HTML 元素不会从 IE6 和 IE7 中的正常 HTML 流中删除
【发布时间】:2011-05-06 17:29:54
【问题描述】:

我正在使用来自 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 等,并告诉我您将要更改的内容。

非常感谢您的帮助!

谢谢,

马丁。

【问题讨论】:

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


    【解决方案1】:

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


    更新:每 cmets

    我拿了jquery.validate.js 和 将 (207) errorElement: "span",label 更改为 - 然后是上面的 代码 - #contact_form span.error - 和 可能是你的负左 由于某种原因,定位现在有效 IE7 正在接收 span 但不是 label?

    【讨论】:

    • 感谢 clairesuzy,我尝试了新的 CSS,它在所有不错的浏览器中都能正常工作,但在顽皮的浏览器中却不行!我已经在 IE7 中仔细检查过,它肯定不起作用:(如果您转到联系页面并单击发送按钮,则在文本输入之后会出现大间隙,而在 textarea 之后会出现小间隙。也许 javascript 文件 jquery 中有一些东西。 validate.min 我需要更改...
    • @Martin - 我现在看到它,但只有在不在本地环境中时,VPC 上的 IE7 .. 据我在开发工具栏上看到的,IE7 没有应用 label.error 它,错误消息显示为文本节点,需要仔细查看脚本,但无法弄清楚它为什么在本地工作:o
    • 我将位置更改为“右”而不是“左”,并且在 IE6 和 7 中,错误输入框之间的距离与以前相同,但错误文本出现在右侧页面(超过 10000 像素)。我不知道这是否是一个线索......如果我将 Firebug Lite 放回页面上是否有用?我已经这样做了。感谢您的所有帮助!
    • @Martin - 我取了 jquery.validate.js 并将行 (207) errorElement: "span",label - 然后上面的代码 - #contact_form span.error 并且可能你的负左定位现在可以工作了,因为IE7 选择 span 而不是 label 的某种原因?
    • 不客气,奇怪的人.. 我用评论更新了答案 - 也许有一天有人会给出明确的理由;)
    猜你喜欢
    • 1970-01-01
    • 2014-09-01
    • 2021-10-02
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2017-05-10
    相关资源
    最近更新 更多