为什么复选框的值为on

jon*_*jon 3 html asp.net asp.net-mvc asp.net-mvc-3

我有一个像这样的复选框:

<label for="TBMasterProduct.BloodTestEnabled">Blood Test Enabled?</label>
<input type="checkbox" name="TBMasterProduct.BloodTestEnabled" id="TBMasterProduct_BloodTestEnabled" class="cb" />
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,它会向TBMasterProduct.BloodTestEnabled发送值'on'

为什么复选框会发布该值?当然应该是真/假

Que*_*tin 11

为什么复选框会发布该值?

on如果未使用value属性显式设置,则浏览器默认值为.

在写这个答案的时候,这是非标准的错误恢复.在HTML 4中,value属性对于复选框是必需.HTML 5 使该属性可选,默认值为on.

当然应该是真/假

不.选中复选框(因此成功),以便提交值,或者不提交,复选框根本不会出现在提交的数据中.

单个复选框可能具有布尔状态,但多个输入可以共享名称以对其进行分组.然后,这些值区分列表中的哪些项目被选中.