今天真的给这个复选框整吐了,只有选中时,该控件才会提交相应的数据到请求中,未选中时,就不会提交任何东西,直接导致后端报错。试了好多办法,下面这个是我找到唯一能用的办法。
<input name="sevenDays_flag" type="checkbox"
onclick="javascript:document.getElementById('sevenDays_flag').value=this.checked;">
<input name="sevenDays_flag" type="hidden" value="false" id="sevenDays_flag">
在查找的过程中看别人都说还有另外一种办法,但是只在PHP中支持,也做一个记录,鬼知道以后我会不会也用到PHP呢
<input name="flag" type="hidden" value=false >
<input name="flag" type="checkbox" value=true>
这种在PHP中能用的原因是说:由于name相同,提交数据时只会提交其中一个,当checkbox未选中时就提交隐藏的flag=false上去,选中了checkbox时,后面的flag=true会覆盖掉前隐藏的。
这个方法在java中作为后端编程语言时不行,但是PHP的话就不清楚了。