[聚合文章] post的奇技淫巧:Post the checkboxes that are unchecked

JavaScript 2018-01-03 12 阅读

放到javascript里为实在是意外 。主要是这应该是属于前端的事情。

起因是这样的,一个checkbox,在没有选中前提交。POST过来的数据中。连checkbox对应的name的KEY,在$_POST中就不存在。这个就尴尬了。因为正常操作是form.submit(),或者是用$.post('xxx',$('#form').serializeArray())。这两种情况下,未选中的checkbox直接就消失在$_POST中了

表单的KEY比较多,将近20个(有点夸张,但是是事实)。如果一个个的写 var xxx = $('xxx:checked').val()||0; 这样也好痛苦的说~~

网上找了一下,看到这个:https://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked,

投票最高的居然是:

XML/HTML代码

<form>  
  <input type='hidden' value='0' name='selfdestruct'>  
  <input type='checkbox' value='1' name='selfdestruct'>  
</form>  

原理就是,如果 selfdestruct 有值,默认下面有值的会覆盖上面的。因为一个FORM里同名的key只能有一个。如果 selfdestruct 没有选中,那么就会用hidden里的值!

本站采用版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"

", 保留原始链接, 此外还必须标注原文标题和链接.

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。