私は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の前の値だったからだと推測します。
私が好きなのは、フォーム内のすべてのチェックボックスの値をチェックするかどうかです。これは可能ですか?
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