W3C 验证器给出 XHTML 的“文档类型不允许元素在此处“输入”...”错误

问题描述 投票:0回答:1

我在使用 W3C 验证器验证我的页面时遇到此错误。

I got this error when validating my page with w3c's validator

来源:

<form action="form.php" method="post">
<input type="text"/>
</form>

有人可以告诉我为什么我会收到此错误吗?

html forms xhtml w3c-validation
1个回答
17
投票

此答案适用于 XHTML,不适用于 HTML5。

form和body元素只接受 块级儿童

<form action="/">
  <input type="submit"> </form>
…将 产生错误:

文档类型不允许元素 此处“输入”;缺少一个“p”, “h1”、“h2”、“h3”、“h4”、“h5”、“h6”、 “div”,“pre”,“地址”,“字段集”, “ins”、“del”开始标签。

在 (X)HTML 的严格变体中,表单 元素只能有块元素 作为其子级,但形成控件 (例如输入元素)是内联的 元素。解决方案是选择一个 具有适当的块元素 可能包含内联的语义 元素;有用的验证器 生成一个可以帮助您的列表 缩小范围。

当涉及到形式时,适当 元素通常是 fieldset 或 普通div。

来源 - Dorward Online

所以做类似的事情

<form action="form.php" method="post">
    <fieldset>
        <input type="text"/>
    </fieldset>
</form>

将解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.