確認画面から戻るボタンを押して戻った際、チェックを外していたはずなのに、またチェックをした状態に戻ってしまった!
こういった場合の対策を共有♪
こんな感じ。
<form method="post" action=""> <input type="hidden" name="hoge" value="嫌い"> <label><input type="checkbox" name="hoge" value="好き" <?php if($_POST['hoge'] == "好き"){echo 'checked="checked"';}?>">好きならチェック!</label> <input type="submit" name="" value="確認する"> </form>
要は、typeをhiddenとcheckboxで1つずつ作って、nameを同じにする。
そして、チェックが入っている時の値が送信された時だけ、「checked=checked」を入れてチェックボックスにチェックが入るように保持する仕組みだ。
ちなみに、チェックボックスに<label>を付けると、文字のところをクリック(タップ)してもチェックのON・OFFができるので、ユーザビリティを高めたいなら絶対に付けるべき。
↓<label>あり
↓<label>なし
チェック
コメント