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不能包含分割符(这里是空格)。

时间: 2024-09-22 18:27:05

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

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

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

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

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

js全选实现和判断是否有复选框选中的方法

 这篇文章主要介绍了js全选实现和判断是否有复选框选中的方法,涉及javascript操作复选框的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了js全选实现和判断是否有复选框选中的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: function actionEvent(methodname){ var form = document.forms[0]; if(validateIsSelect(form.all, form.productids)){ form

jquery操作复选框checkbox的方法汇总_jquery

本文实例汇总了jquery操作复选框checkbox的方法.分享给大家供大家参考.具体分析如下: jquery判断checked的三种方法: 复制代码 代码如下: $("input").attr("checked");   //版本1.6+返回:"checked"或"undefined" ,1.5-返回:true或false  $("input").prop("checked");  /

javascript checkbox多选框选中与否方法

网页特效 checkbox多选框选中与否方法 <script language="javascript"> function check(obj){  for(i=0;i<document.all(obj).length;i++){   if(document.all(obj)(i).checked){    return;   }  }  window.alert("请至少选择一项!"); } </script> <input

js全选实现和判断是否有复选框选中的方法_javascript技巧

本文实例讲述了js全选实现和判断是否有复选框选中的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function actionEvent(methodname){          var form = document.forms[0];          if(validateIsSelect(form.all, form.productids)){              form.action='<html:rewrite action="/control

php简单获取复选框值的方法_php技巧

本文实例讲述了php简单获取复选框值的方法.分享给大家供大家参考,具体如下: html: <form id="form1" name="form1" method="post" action="checkbox.php"> <input type=checkbox name=checkbox[] value="1"> <input type=checkbox name=chec

使用AngularJS处理单选框和复选框的简单方法

这篇文章主要介绍了使用AngularJS处理单选框和复选框的方法,在AngularJS表单的基础之上编写起来非常简单,需要的朋友可以参考下     AngularJS对表单的处理相当简单.在AngularJS使用双向数据绑定方式进行表单验证的时候,实质上它在帮我们进行表单处理. 使用复选框的的例子有很多,同时我们对它们的处理方式也有很多.这篇文章中我们将看一看把复选框和单选按钮同数据变量绑定的方法和我们对它的处理办法. 创建Angular表单 在这篇文章里,我们需要两个文件:index.html

javascript判断单选框或复选框是否选中方法集锦_表单特效

提示:getEmementsByName方法的作用是根据 NAME 标签属性的值获取对象的集合. 样例一<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>判断单选框或复选框是否选中</title> </head> <body> <input name