checkboxを選択してsubmitするとvalueが送信されます。
しかし、選択していない状態でsubmitするとvalueは{更新されない/nullになります}。
<input name="example" type="checkbox" value="T"> <!-- checkedならば、value="T" そうでないなら、valueは更新されない -->
◎選択していなくてもvalueを送信したい…!
そんな時はhiddenを使います。
同じname属性の値はPOST時に上書きされるので、checkboxが選択されていなければ、
以下のコードの場合valueはFがPOSTされます。
<input name="example" type="hidden" value="F"> <input name="example" type="checkbox" value="T"> <!-- checkedならば、value="T" そうでないなら、value="F" がPOSTされる -->
◎でもAipoの場合は、、、
同じname属性でpostされた値は最後にpostされた値が適用される、と書いてあるサイトが多いですが、
Aipoでは最初にpostされた値が適用されるみたいです。
つまり、上のコードをそのままAipoで実装すると、checkboxが選択されて送信された時、ValueはFだと認識されます。
原因を少し調べてみました。
まず、同じname属性の値が重複してpostされた場合、rundataではname=[値1],[値2]と順番どおりに設定されています。
rundata(POSTされた値が格納されている)から、formdataに値をコピーするとき、値は一つ目の値を選択してコピーするようになっているため、
このようなことが起きています。