最近在使用form表单时,出现了一个问题,checkbox如果选中会传true,没选中就什么都不传,但是这不是想要的效果呀,希望做到选中时传true,不选中时传false。

那么就有以下两种方法

1.

<input name="public" type="checkbox" onclick="javascript:document.getElementById('public').value=this.checked;">  
<input name="public" type="hidden" value="false" id="public">  

2.

生成这样的表单,当checkbox未选中的时候,提交的是hidden表单。false就被提交到服务器了。

当checkbox都选中的时候,hidden和checkbox表单都被提交了,但是因为它们的name是一样的,所以hidden的值被checkbox覆盖了。所以就得到了true。

这种方法简单巧妙,值得推广

<input name="public" type="hidden" value="false">  
<input name="public" type="checkbox" value="true" id="public">  


input type="checkbox" 选中传值,不选中传值的方法讲解 - html/css语言栏目:html.css - 红黑联盟
https://www.2cto.com/kf/201801/710664.html