English 中文(简体)
HTML验证器在表单输入类型上给我错误,元素在此上下文中不被允许。
原标题:
  • 时间:2009-01-27 18:29:08
  •  标签:

这是我拥有的代码,HTML验证器正在给我报错:

<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />

这是 HTML 验证器中错误的屏幕截图(全尺寸):(full size

将此翻译为中文:HTML验证器中的错误截图。

这是我收到的错误信息:

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

一个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>
最佳回答

在HTML4 / XHTML1中,不能直接将内联内容放入form元素中。另一方面,HTML5取消了这个要求。

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

问题回答

你没有提到这个验证器验证哪个HTML版本。假设它不是XHTML,那么不需要关闭input标签。使用"/>"意味着你正在提供一个闭合标签。

获取更多信息: 参考

然而,对于要求所有标签闭合的XHTML,这种限制不适用(或者我应该说,所有标签都应该闭合的限制仅适用于XHTML);-)

我相信问题在于输入是在

  • 元素中,这个元素默认不是块级元素。这通常是出现上下文错误的原因。这不会对您的页面造成任何伤害,但会导致无法验证。

  • 你正在使用HTML还是XHTML?

    In HTML the <input> tag has no end tag.

    In XHTML the <input> tag must be properly closed.

    将此翻译为中文:http://www.w3schools.com/tags/tag_input.asp http://www.w3schools.com/tags/tag_input.asp

    在您提供的代码前,是否有未闭合的内联元素?内联元素列表: http://htmlhelp.com/reference/html40/inline.html(适用于html4)

    eg. [code]

    [/code]

    将输入标签包裹在

    标签内部

    and be sure to self close the input tag like above.

    这应该被验证。

    马克 (Mǎkè)





    相关问题
    热门标签