To properly emulate common browsers, a Checkbox with no explicit value (as in <input type="checkbox" name="isCurrent">) should have "on" as default value (see http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/value_1.asp). I know that http://www.w3.org/TR/html401/interact/forms.html#h-17.4 specifies that the value attribute should be required for checkbox and radio types...
My suggested fix is as follow:
In HtmlInput, make getValueAttribute() non final:
diff -r1.14 HtmlInput.java
388c388
< public final String getValueAttribute() {
> public String getValueAttribute() {
In HtmlCheckBoxInput.java, add:
diff -r1.7 HtmlCheckBoxInput.java
67a68,79
> /
> * Return the value of the attribute "value". Refer to the
> * <a href='http://www.w3.org/TR/html401/'>HTML 4.01</a>
> * documentation for details on the use of this attribute.
>
> * @return The value of the attribute "value"
> * or an empty string if that attribute isn't defined.
> /
> public String getValueAttribute() {
> String value = getAttributeValue("value");
> return (value.length() == 0) ? "on" : value;
> }
Logged In: YES
user_id=46756
Fixed. The referenced document also specified default
values for reset and submit inputs but these may be IE
specific so I'm leaving them for now.