如何解决以下HTML错误?

时间:2015-04-25 17:42:16

标签: html html5 django-templates

我的django模板文件中有以下几行:-cart.html: -

<td class="right">
    <form method="post" action="." class="cart">
        <label for="quantity">Quantity:</label>
        <input type="text" name="quantity" value="{{ item.quantity }}" id="quantity" size="2" class="quantity" maxlength="5" />
        <input type="hidden" name="item_id" value="{{ item.id }}" />
</td>
<td>
    <input type="submit" name="submit" value="Update" />
    </form>
</td>

在td的第一个结束标记即第一个</td>,我收到以下错误: 元素表单未关闭。请帮我纠正此错误。

3 个答案:

答案 0 :(得分:2)

HTML标记必须以直接层次结构方式进行结构化。关闭在先前关闭的元素内打开的标记是不正确的,并且通常会产生错误和问题。

将表单包含在表数据中,如下所示:

<td class="right">
    <form method="post" action="." class="cart">
        <label for="quantity">Quantity:</label>
        <input type="text" name="quantity" value="{{ item.quantity }}" id="quantity" size="2" class="quantity" maxlength="5" />
        <input type="hidden" name="item_id" value="{{ item.id }}" />
        <input type="submit" name="submit" value="Update" />
    </form>
</td>

或将整个表格或表格元素包含在表单中,如下所示:

<form method="post" action="." class="cart">
    <td class="right">
        <label for="quantity">Quantity:</label>
        <input type="text" name="quantity" value="{{ item.quantity }}" id="quantity" size="2" class="quantity" maxlength="5" />
        <input type="hidden" name="item_id" value="{{ item.id }}" />
    </td>
    <td>
        <input type="submit" name="submit" value="Update" />
    </td>
</form>    

我认为后一种解决方案是您正在寻找的解决方案。

答案 1 :(得分:1)

好吧,尝试标记第一行,使其与结束标记对齐。

然后我会调整代码并试一试。这是一篇很好的文章:http://help.simplytestable.com/errors/html-validation/end-tag-for-element-x-which-is-not-open/end-tag-for-element-form-which-is-not-open/

答案 2 :(得分:1)

如果您尝试将表单放在多个td上,那么使用您当前的方法将会很困难。

很遗憾,您无法在表格行中包含该表单,并且您的当前HTML无效,因为td元素在form元素之前已关闭。

您需要:

  1. 将整个表格放在
  2. 表格中
  3. 将整个表单放在表格单元格中。
  4. 使用html5表单属性
  5. 请参阅Form inside a table