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

复选框

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

  假设有这样一个表单:

<form name="form1" id="form1" method="post" action="myphp.php" >
<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不能包含分割符(这里是空格)。

时间: 2025-01-23 22:33:02

PHP开发中接收复选框信息的方法的相关文章

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

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

PHP接收复选框信息的方法

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

怎么在word2010文档中插入复选框

1.先打开word文件,我们先来打开开发工具,因为我们要用的功能在开发工具中呀,现在"文件"->"信息"->"选项"点击进入,如下图所示. 文档中插入复选框-word文档复选框打勾">2.在我们进行了word选项对话框会看到有一个"自定义功能区",将右边的开发工具打上"√", 如下图所示. 3.现在我们就会在word文档菜单栏发现多了一个开发工具了,我们点击中的"设计模

Android开发之在程序中时时获取logcat日志信息的方法(附demo源码下载)_Android

本文实例讲述了Android开发之在程序中时时获取logcat日志信息的方法.分享给大家供大家参考,具体如下: 今天分享一个在软件开发中很实用的例子,也是这几天在通宵加班中我使用的一个小例子, 在程序中监听Log信息. 为什么说它实用?原因是Android的开发厂商各种修改之后手机和手机之间以后存在很多差异.比如说魅族M9手机 开发中如果项目中涉及到访问手机系统的地方,例如访问系统短信库,M9手机它会提示一个dialog框 让用户自己去选择 访问还是不访问.这样就给开发适配带来了巨大的麻烦.本来

PHP中获得复选框是否选中并写入数据库

form.html  代码如下 复制代码 <form action=checkbox.php method=post> <input name="s[]" type="checkbox" value="3" />3<br> <input name="s[]" type="checkbox" value="7" />7<br> &

android-Android 中带复选框的对话框

问题描述 Android 中带复选框的对话框 下面是关于带有复选框的对话框事例: final int DIALOG_ITEMS = 1; String data[] = { "one", "two", "three", "four" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat

javascript中DOM复选框选择用法实例

  本文实例讲述了javascript中DOM复选框选择用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 <html xmlns="http://www

在Word2003文档窗口中使用复选框或单选按钮

  在Word2003中,对话框中的选项按钮分为单选按钮和复选框两种类型.其中复选框一般成组出现,在选取时用户可以一次性选择多个复选框.被选中的复选框中将标记有√符号,再单击一次可取消选择,如图1所示. 文档窗口中使用复选框或单选按钮-单选按钮和复选框"> 图1 Word2003选项按钮 单选按钮通常会成组出现,在选择单选按钮时,用户一次只能选中一个单选按钮.当一个单选按钮被选中后,同组的其他单选按钮将自动被取消选择.被选中的单选按钮中出现一个圆点,再次单击该单选按钮可取消选择,如图2所示

如何启用Win8系统中的复选框功能

  用户用的是Win8系统,现在我想使用复选框功能,请问怎么在Windows8中使用复选框功能? 操作步骤 1. 打开"回收站,鼠标左键点击"查看",鼠标左键点击"选项图标",参见下图 2. 打开"文件夹选项",鼠标左键点击"查看",鼠标左键点击"使用复选框以选择项",参见下图