When I submit a HTML form with a checked checkbox that doesn\'t have an explicitly defined value, Chrome sends on as a value for that field.
HTML Living Standard reflects this: The value is in mode "default/on", that means it's value is "on" if no value attribute is provided. From 4.10.7.1.16 Checkbox state (type=checkbox) - HTML
Living Standard (Sep 2013):
- The value IDL attribute is in mode default/on.
[...]
default/on
On getting, if the element has avalueattribute, it must return that attribute's value; otherwise, it must return the string "on". On setting, it must set the element'svalueattribute to the new value.
This is quite identically also part of another HTML specification, the W3C HTML 5 Aug 2013 Recommendation Specification has this as well:
For reference my earlier comment:
Firefox (Sep 2013), Chrome (Sep 2013), Internet Explorer (6): "on". I suspect this goes back a long way. http://lxr.mozilla.org/classic/source/lib/layout/layform.c#86 - as most browsers need to have some default value for their own code objects I guess this "on" is just common.