2016/11/10

PHPでcheckboxの値の受け渡しをする方法

インターネット上でのcheckboxの振舞いを誤認識していたため、備忘録として動作から確認できた正しい振る舞いを残します。

checkboxにチェックありの動き

checkboxにチェックありの送信

checkboxにチェックを入れてsubmitボタンを押下するとvalueに設定されている値が送信されます。

checkboxの値の受信

送信された値はブラウザが再読み込みされて受信することができます。

checkboxに値の反映

checkboxにチェックありのデータを受信しているため、チェックありのチェックボックスを表示するタグを表示。

checkboxにチェックなしの動き

checkboxにチェックなしの送信

checkboxにチェックなしの状態でsubmitボタンを押下すると設定されている値は送信されません。送信URLにcheckboxのURL引数が存在しないため、送信されていないことがわかります。

checkboxの値の受信

checkboxの値が送信されいないため、$_GET[‘checked1’]はNULLになり、受信はできません。

checkboxに値の反映

取得した値がNULLのため、チェックなしのチェックボックスを表示します。

まとめ

チェックボックスにチェックなしの状態でも値が送信されると誤認識していために、チェックありの値(value)を”1”、チェックなしの値を”0”にしていました。そのため、チェックなしの状態からチェックを入れてsubmitボタンを押下するとチェックなしの値(value)を”0”が送信され、想定していた値の”1”が受信されず、処理が思惑どうりに動きませんでした。

対応としてはチェックなしのときは値が送信されないため、checkboxの値は常に”1″で統一することによって正常動作になりました。
※チェックありのときのみ値が送信される。

PHPのcheckboxサンプルコード

PHPでcheckboxの値を送受信するサンプルコードです。

(Visited 6,677 times, 1 visits today)