Le poste date un peu, mais comme j'ai trouvé une solution (sans javascript), je la transmet !
J'ai eu exactement le même problème : je voulais savoir si une checkbox avait été cochée ou non dans un formulaire et obtenir en retour 0 ou 1 ! Le fait qu'une checkbox non cochée ne renvoie rien me gênait car je ne pouvais prévoir si la checkbox était affichée ou non (génération automatique) dans le formulaire de saisie.
Voici l'astuce pour contourner le problème:
<input type="hidden" name="myCheckbox" value="0" />
<input type="checkbox" name="myCheckbox" value="1">
Si la checkbox n'est pas cochée, l'input de type hidden est renvoyé. Si la checkbox est cochée, l'input de type checkbox est prioritaire (car placé en deuxième, l'ordre d'écriture est donc important !)
Le fait de préciser value="1" dans le checkbox force la valeur de la variable retournée à 1 si la checkbox a été cochée (sinon, par défaut, la valeur retournée est "on" )
J'espère que cette astuce en aidera plusieurs !