Make Checkboxs submit a zero value when not checked
Checkboxes normally don't submit a value when they submitted in a form and they are not checked. This code makes a hidden input have a value which is coupled to the checkbox check state, the hidden input will always deliver a value when the form is submitted.
by Ben Clayton
HTML
<button class='submit'>Submit</button>
<form id='myform'>
<input type="checkbox" class="checkbox"/>
<input type="textbox" name="chkA" value="0"/>
<br />
<input type="checkbox" class="checkbox" checked='checked'/>
<input type="textbox" name="chkB" value="1" />
</form>
JavaScript
$(document).ready(function(){
$(document).on('click','.submit',function(){
alert($('#myform').serialize());
});
$(document).on('change','.checkbox',function(){
$(this).next().val($(this).is(':checked')?1:0);
});
});