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

红灯右转love

红灯右转love

2016-01-29 13:25

PHP开发中接收复选框信息的方法,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不能包含分割符(这里是空格)。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)
展开更多 50%)
分享

猜你喜欢

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

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

用PHP处理多个同名复选框

PHP
用PHP处理多个同名复选框

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

复选框用法

ASP
复选框用法

Word中怎么制作打勾复选框

电脑入门
Word中怎么制作打勾复选框

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用Javascript制作复选框

Web开发
用Javascript制作复选框

电脑复选框如何开启

计算机应用技术
电脑复选框如何开启

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash MX2004入门与进阶实例(2)

Flash MX2004入门与进阶实例(2)

光盘效果的制作

光盘效果的制作
下拉加载更多内容 ↓