我的 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>
,我收到以下错误:
元素表单未关闭。请帮我纠正这个错误。
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>
我认为后一种解决方案就是您正在寻找的解决方案。
好吧,尝试按 Tab 键选择第一行,使其与其结束标记对齐。
然后我会稍微修改代码并进行尝试。这是一篇值得一看的好文章:http://help.simplytestable.com/errors/html-validation/end-tag-for-element-x-which-is-not-open/end-tag-for-element -未打开的表单/
如果您尝试将表单放在多个
td
上,则使用当前的方法会很困难。
不幸的是,您不能将表单放在表格行中,并且当前的 HTML 无效,因为
td
元素在 form
元素之前关闭。
您需要:
参见表格内的表格
很简单,您只需将第一个
</form>
内的 <td>
标签移动到 </td>
之前。