PHPを使ってのチェックボックスのフォーム送信がうまくいかない場合の対処法です。
案外苦戦したので自分メモ。
やりたかった手順は以下の通り。
JavaScriptを使っています。
- MySQLからデータ(0か1のBoolean型)を取得。
- そのデータを素にHTMLフォームのチェックボックスへ反映。
- そのチェックボックスをオン・オフした後フォーム送信し、MySQLへデータへ書き込む。
(..手順1..ごにょごにょ) <?php $chk_value = $result['closed_flag'] ? 1 : 0; ?> <input type="hidden" name="closed_flag" value="<?=$chk_value;?>"> <input type="checkbox" onclick="this.form.close_flag.value=this.checked ? 1 : 0" <?php if($chk_value){echo 'checked';} ?> (..手順3..もぎょもぎょ)
※上のソースコードは、手順2のみ記載してあります。
コメント