php

位置:IT落伍者 >> php >> 浏览文章

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


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

假设有这样一个表单

<form name=form id=form method=post action=myphpphp onSubmit=return Checker()>

<input type=checkbox name=item value=><br>

<input type=checkbox name=item value=><br>

<input type=checkbox name=item value=><br>

<input type=checkbox name=item value=><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()

{

formitemsvalue = ;

if ( !formitemlength ) // 只有一个复选框formitemlength = undefined

{

if ( formitemschecked )

formitemsvalue = formitemvalue;

}

else

{

for ( i = ; i < formitemlength ; i++ )

{

if ( formitem(i)checked ) // 复选框中有选中的框

{

formitemsvalue = formitem(i)value;

for ( j = i + ; j < formitemlength ; j++ )

{

if ( formitem(j)checked )

{

formitemsvalue += ; //用空格做分割符

formitemsvalue += formitem(j)value;

}

}

break;

}

}

}

return true;

}

>

</script>

这样就可以把所有选中的复选框的value组合成为一个字符串数组在myphpphp使用这样的语句

$items = explode( $HTTP_POST_VARS[items]);

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

               

上一篇:PHP网络开发详解:文章类别管理页面的实现[1]

下一篇:PHP网络编程:使用触发器[2]