PHP开发中接收复选框信息的方法

2016-01-29 13:25 6 1 收藏

PHP开发中接收复选框信息的方法,PHP开发中接收复选框信息的方法

【 tulaoshi.com - PHP 】

   php接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。


  假设有这样一个表单:

<form name="form1" id="form1" method="post" action="myphp.php" onSubmit="return Checker()">
<input type="checkbox" name="item" value="1">1<br>
<input type="checkbox" name="item" value="2">2<br>
<input type="checkbox" name="item" value="3">3<br>
<input type="checkbox" name="item" value="4">4<br>
<input type="hidden" name="items" value="">
<input type="submit" value="Submit">
</form>
  这个表单有四个名字都是item的复选框,当用户单击Submit按钮的时候,Checker函数会被调用,并且如果Checker返回true表单就被提交,返回false表单就不会被提交。这里Checker函数就是我们要编写的预处理函数。在HTML的header部分添加下面的javascript:

<script language="javascript">
<!--
function Checker()
{
 form1.items.value = "";
 if ( !form1.item.length ) // 只有一个复选框,form1.item.length = undefined
 {
  if ( form1.items.checked )
   form1.items.value = form1.item.value;
 }
 else
 {
  for ( i = 0 ; i < form1.item.length ; i++ )
  {
   if ( form1.item(i).checked ) // 复选框中有选中的框
   {
    form1.items.value = form1.item(i).value;
    for ( j = i + 1 ; j < form1.item.length ; j++ )
    {
     if ( form1.item(j).checked )
     {
      form1.items.value += " "; //用空格做分割符
      form1.items.value += form1.item(j).value;
     }
    }
    break;
   }
  }
 }
 return true;
}
-->
</script>
  这样就可以把所有选中的复选框的value组合成为一个字符串数组,在myphp.php使用这样的语句:

$items = explode(" ", $HTTP_POST_VARS["items"]);
  就可以把这些选项分离出来成为数组。需要注意的是选项中的value不能包含分割符(这里是空格)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

来源:http://www.tulaoshi.com/n/20160129/1490111.html

延伸阅读
标签: windows系统
如何启用Win8系统中的复选框功能   用户用的是Win8系统,现在我想使用复选框功能,请问怎么在Windows8中使用复选框功能? 操作步骤 1、 打开回收站,鼠标左键点击查看,鼠标左键点击选项图标,参见下图 2、 打开文件夹选项,鼠标左键点击查看,鼠标左键点击使用复选框以选择项,参见下图 如何进入Windows8系统启...
标签: Web开发
代码如下: script type="text/javascript" $(function() { $("#checkall").click(function() { $("input[@name='checkname[]']").each(function() { $(this).attr("checked", true); }); }); $("#delcheckall").click(function() { $("input[@name='checkname[]']").each(function() { $(this).attr("checked", false); }); }); ...
标签: Web开发
input type=checkbox name=mm value=a onclick="checkItem(this, 'mmAll')"br input type=checkbox name=mm value=b onclick="checkItem(this, 'mmAll')"br input type=checkbox name=mm value=c onclick="checkItem(this, 'mmAll')"br input type=checkbo...
标签: Web开发
有很多人不知道在多选框中全选怎么还编写代码。其实很简单,下面就是代码以及说明,请仔细阅读。 以下是引用片段: script language="javascript" //代码说明(lulu163.com):form1为表单名,memberId为复选框,selectbutton为全选按钮    function selectAll()     { for (var i=0;idocument.form1.memberI...
标签: windows系统
如何使用Windows8系统中的复选框功能   1、打开回收站,鼠标左键点击查看,鼠标左键点击选项图标,参见下图 2、打开文件夹选项,鼠标左键点击查看,鼠标左键点击使用复选框以选择项,参见下图 Windows8消费预览版Metro界面关闭应用程序   Metro 应用程序不包含一个关闭按钮,其实这是微软的特殊设计,当运行另...

经验教程

988

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部