【问题标题】:HTML5 form validation does not work with autofocus in ChromeHTML5 表单验证不适用于 Chrome 中的自动对焦
【发布时间】:2010-09-14 02:59:45
【问题描述】:

我不知道这是否可能是 Chrome 中的某种错误,或者(很可能)是我做错了什么。 如果输入的不是数字,我正在尝试使文本框背景颜色变为红色。

我有这个 html 页面:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>iSPT</title>
    <link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
    <form >
        <input type="number" autofocus />
    </form>
</body>
</html>

这是 style2.css:

@CHARSET "ISO-8859-1";
:invalid{ 
    background-color: red; 
}

这不起作用,如上所示(如果我输入字母,框不会变红)。我有两种方法让它工作。 第一个是从输入中移除 autofocus 属性。

或者,如果我将外部文件中的 CSS 内联到 HTML 头中,那么验证也可以正常工作。

不过,我希望能够保持自动对焦和外部 css 表。

有什么想法吗?

【问题讨论】:

  • 当然看起来像一个浏览器错误。当您使用外部 CSS 而不是内联时,没有理由会有所不同。在检查器中查看它似乎应该应用规则,并且 DOM 上的有效性状态设置正确。
  • 目前应该使用哪些其他浏览器?
  • 如果您在元素检查器中禁用并立即启用此 :invalid 样式并切换回页面(如果您愿意,可以关闭元素检查器)然后它现在可以工作了!所以看起来 something 最初并没有被触发?!
  • 同意它看起来像一个浏览器错误。向 chromium 项目提交错误报告! (或检查他们是否已经为此问题打开了错误)

标签: css html autofocus


【解决方案1】:

似乎已在最新版本的 Chrome 中解决。

【讨论】:

    猜你喜欢
    • 2018-01-23
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2016-12-15
    • 2015-07-31
    相关资源
    最近更新 更多