チェックボックスやラジオボタンはチェックされていないと何も送信されないので、JavaScript でチェックボックスの値を変更しても意味がありません。 JavaScript依存でよいなら、確実に値が送信される hidden を使って <input type="hidden" name="check_1" value="0"> <input type="checkbox" onclick="this.form.check_1.value=this.checked ? 1 : 0"> のようにすれば、常に 1 か 0 が送信されます。 依存したくない場合は、CGI側でデフォルト値を指定するようにします。例えば Perl で、フォームデータを %FORM に入れている場合、デコード処理の後で $FORM{check_1} ||= 0; のようにします。