HTML Validator在表单输入类型上给出错误,上下文中不允许使用该元素

Bra*_*rad 1 html w3c-validation

这是我有的HTML Validator给我一个错误的代码:

<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />
Run Code Online (Sandbox Code Playgroud)

以下是HTML Validator中错误的屏幕截图(完整大小):

HTML Validator中的错误屏幕截图.

这是我收到的错误消息:

提到的元素不允许出现在您放置它的上下文中; 其他提到的元素是唯一允许存在的元素,并且可以包含所提到的元素.这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素.

HTML文件的主体中有两种类型的元素,内联和块元素.此消息的一个可能原因是您尝试将块级元素(例如"<p>"或"<table>")放在内联元素中(例如"<a>","<span> ",或"<font>").

在以下示例中,<font>标记是内联标记,只能包含其他内联标记.但<p>标签是一个块标签.因此<p>标记不能包含在<font>标记中.

这是来自的html块:

<li>
    <form method="post" action="http://site.com/"  >
    <div class='hiddenFields'>
        <input type="hidden" name="ACT" value="19" />
        <input type="hidden" name="XID" value="90ee0994104d8ba87b6ef9b43e998fc8c89e0d9f" />
        <input type="hidden" name="RP" value="search/results" />
        <input type="hidden" name="NRP" value="" />
        <input type="hidden" name="RES" value="" />
        <input type="hidden" name="status" value="" />
        <input type="hidden" name="weblog" value="forms|alumni_distinguished|housing_faq|international_faq" />
        <input type="hidden" name="search_in" value="everywhere" />
        <input type="hidden" name="where" value="all" />
        <input type="hidden" name="site_id" value="1" />
    </div>

    <input type="text" id="search" name="keywords" /> <input type="submit" value="Search" name="Submit" />
    </form>
</li>
Run Code Online (Sandbox Code Playgroud)

Ms2*_*ger 10

在HTML4/XHTML1中,您无法将内联内容直接放入form元素中.另一方面,HTML5提升了这一要求.

因此,如果验证错误困扰您(有更糟糕的事情......),请在最后两个周围添加一个pdiv元素input.