チェックすると値を1として渡すチェックボックスのセットがあります。それ以外の場合は値を0として渡します。ただし、チェックされていないチェックボックスの値を「0」として送信する代わりに、送信される値は「NULL」です。
それに応じて値を 0/1 に設定する必要がある次の JS コードがありますが、それでも値は NULL として送信されます。チェックボックスがオフの場合に渡される値が0であることを確認するためにできることはありますか?
$('#cb1, #cb2, #cb3, #cb4').on('click', function ()
$(this).val(this.checked ? 1 : 0);
});
更新 ここに私のhtmlがあります:
<input type="checkbox" name="cb1" id="cb1" value="1" checked />
<input type="checkbox" name="cb2" id="cb2" value="1" checked />
<input type="checkbox" name="cb3" id="cb3" value="1" checked />
<input type="checkbox" name="cb4" id="cb4" value="1" checked />
デフォルトではすべてチェックされています。
それらの 1 つがチェックされていない場合、MySQL は次のエラーを報告しています。
これは、列が Null にならないように設定されているためです。デフォルト値を 0 に設定しても、送信ボタンをクリックするとエラーが発生します。Not NULL プロパティを削除しようとしましたが、値を 0 として事前入力するのではなく、データベースで入力が NULL でした。