ログ日記

作業ログと日記とメモ

チェックボックスを配列で扱う場合

<input type="checkbox" name="checkA[]" value="A1">
<input type="checkbox" name="checkA[]" value="A2">
<input type="checkbox" name="checkB[]" id="check1" value="B1">
<input type="checkbox" name="checkB[]" id="check2" value="B2">

こういう場合。
flexyではname属性値の最後二文字が[]の場合、setValue()の引数が配列でなかったら何も処理が行われない。
例えidを指定して一つの値を設定する時でも配列でなければいけない。


という動作にハマった。checkboxを配列として扱う場合は $element->setValue((array)$var); とやれってことかな。


ただし

<input type="checkbox" name="checkA[1]" value="A1">
<input type="checkbox" name="checkA[2]" value="A2">

などとすると、また話が違ってくるので注意。