Turns out the checkbox problem was the whole problem. I found a solution to this problem elsewhere in our code, so I used it. It seems to be hacked, but it works.
The idea is that you need to make sure the value of the check box true, not "on". So do this:
<input type="checkbox" id="myCheckbox" value="true" />
Then add the hidden input with the same identifier with your value as falseimmediately after this check box:
<input type="hidden" id="myCheckbox" value="false" />
, . , , myCheckbox=false, , . , . ( , ). , myCheckbox=true.