我的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>
,我收到以下错误:
元素表单未关闭。请帮我纠正此错误。
答案 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
元素之前已关闭。
您需要: