background image

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

PHP 接收多个同名复选框信息不像 ASP 那样自动转换成为数组,这给使用带来了一定

不便。但是还是有解决办法的,就是利用

JavaScript 做一下预处理。多个同名复选框在

JavaScript 中还是以数组的形式存在的,所以在表单提交之前可以利用 JavaScript 把复选框
中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用

PHP 中的 explode 函数解

析此数组,这样就可以实现复选框信息的传递了。下面举例说明。
假设有这样一个表单:

<formname="form1"id="form1"method="post"action="myphp.php"onSubmit="returnChecker()"
>

<inputtype="checkbox"name="item"value="1">1<br>

<inputtype="checkbox"name="item"value="2">2<br>

<inputtype="checkbox"name="item"value="3">3<br>

<inputtype="checkbox"name="item"value="4">4<br>

<inputtype="hidden"name="items"value="">

<inputtype="submit"value="Submit">

</form>

这个表单有四个名字都是

item 的复选框,当用户单击 Submit 按钮的时候,Checker 函

数会被调用,并且如果

Checker 返回 true 表单就被提交,返回 false 表单就不会被提交。这里

Checker 函 数 就 是 我 们 要 编 写 的 预 处 理 函 数 。 在 HTML 的 header 部 分 添 加 下 面 的
JavaScript:

<scriptlanguage="JavaScript">
<!--
functionChecker()
{
form1.items.value="";
if(!form1.item.length)//只有一个复选框,form1.item.length=undefined
{