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
{