PHP接收复选框信息的简便方法讲解

原创
2016-06-13 11:06:20 551浏览

假设有这样一个表单:

  1. <form name="form1" id="form1" method="post" action="myphp.php" onSubmit="return Checker()"
  2. <input type="checkbox" name="item" value="1">1<br>
  3. <input type="checkbox" name="item" value="2">2<br>
  4. <input type="checkbox" name="item" value="3">3<br>
  5. <input type="checkbox" name="item" value="4">4<br>
  6. <input type="hidden" name="items" value=""
  7. <input type="submit" value="Submit"
  8. </form>

这个PHP接收复选框信息的例子中的表单有四个名字都是item的复选框,当用户单击Submit按钮的时候,Checker函数会被调用,并且如果Checker返回true表单就被提交,返回false表单就不会被提交。这里Checker函数就是我们要编写的预处理函数。在HTML的header部分添加下面的javascript:

  1. <script language="javascript"
  2. <!--
  3. function Checker()
  4. {
  5.  form1.items.value = "";
  6.  if ( !form1.item.length ) // 只有一个复选框,form1.item.length = undefined
  7.  {
  8. if ( form1.items.checked )
  9.  form1form1.items.value = form1.item.value;
  10.  }
  11.  else
  12.  {
  13. for ( i = 0 ; i < form1.item.length ; i++ )
  14. {
  15.  if ( form1.item(i).checked ) // 复选框中有选中的框
  16.  {
  17. form1form1.items.value = form1.item(i).value;
  18. for ( j = i + 1 ; j < form1.item.length ; j++ )
  19. {
  20.  if ( form1.item(j).checked )
  21.  {
  22. form1.items.value += " "; //用空格做分割符
  23. form1.items.value += form1.item(j).value;
  24.  }
  25. }
  26. break;
  27.  }
  28. }
  29.  }
  30.  return true;
  31. }
  32. -->
  33. </script>

这样就PHP接收复选框信息可以把所有选中的复选框的value组合成为一个字符串数组,在myphp.php使用这样的语句:

就可以把这些选项分离出来成为数组。需要注意的是选项中的value不能包含分割符(这里是空格)。


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。