我有一个像这样的复选框:
<label for="TBMasterProduct.BloodTestEnabled">Blood Test Enabled?</label>
<input type="checkbox" name="TBMasterProduct.BloodTestEnabled" id="TBMasterProduct_BloodTestEnabled" class="cb" />
当我提交表单时,它会向TBMasterProduct.BloodTestEnabled发送值'on'
为什么复选框会发布该值?当然应该是真/假
答案 0 :(得分:11)
为什么复选框会发布该值?
如果您没有使用on
属性明确设置,则浏览器默认值为value
。
在撰写本答案时,这是非标准的错误恢复。在HTML 4中,the value
attribute is mandatory for checkboxes。 HTML 5 makes the attribute optional with a default of on
。
当然应该是真/假
没有。选中复选框(因此成功),以便提交值,或者不提交,复选框根本不会出现在提交的数据中。
单个复选框可能具有布尔状态,但多个输入可以共享一个名称以对其进行分组。然后,这些值可以区分列表中的哪些项目被选中。
答案 1 :(得分:2)
您的复选框上没有设置“值”。
答案 2 :(得分:2)
不,它不应该是真/假。
复选框中的值仅在选中时包含在表单中。如果没有选中,则根本没有发送任何值。
发送的值是您使用value
属性指定的值。如果未指定值,则使用默认值"on"
。