我使用的是Node.js和玉石打,目前有这个简单的模板:后并不包括所有的值
extends layout
block content
h1 #{title}
br
form(action="/updateingredient", method="post")
table.table.table-striped.table-bordered
tr
td Name
td Category
td Available
if (typeof ingredients === "undefined")
tr
td
else
each ingredient in ingredients
tr
td #{ingredient.name}
td #{ingredient.category}
td
input(type="checkbox", name="#{ingredient.id}",
value="#{ingredient.available}", checked=ingredient.available)
button.btn(type="submit") Update Ingredients
当提交这个我撞到在upgradeIngredients
预期:
updateIngredient: function (req, res) {
console.log(req.body);
}
我的问题在于。邮局只包括已选中的复选框,而且复选框的值总是为false
。我想这是因为那是Post Post之前的价值。
我最喜欢的是获取表单中的所有复选框值,选中或不选中。这可能吗?
从updateIngredient
方法的电流输出给了我当一个复选框被选中以下(目前只是一个项目测试):
{“b56a5f79-b074-4815-e7e0-4b746b2f65d8”:“假'}
并且当未选中:
{}
编辑
望着构建HTML我看到这一个项目:
<tr>
<td>Ost</td>
<td>Mælkeprodukt</td>
<td>
<input
type="checkbox"
name="b56a5f79-b074-4815-e7e0-4b746b2f65d8"
value="false"
checked="false">
</td>
</tr>
我编辑了我的问题 – Cheesebaron
嗯,阅读更多,这似乎有一些奇怪的标准。例如。 XHTML需要完整的属性或者根本不需要(相当于'false'),并且没有支持的用法,如:checked =“false”。所以如果这是问题,你需要有条件地发出checked =“checked”或根本不发送。 – RobertB