2007/03/02 18:24
文章作者:Enjoy 转载请注明原文链接。
<form action="1.asp" method="post">
<input type="checkbox" value="1" name="chk" title="选择/不选">1
<input type="checkbox" value="2" name="chk" title="选择/不选">2
<input type="checkbox" value="3" name="chk" title="选择/不选">3
<input type="submit" name="submit">
</form>
选中1和3两个选项,提交后,如果是在asp中
Response.Write Request.Form("chk")
这样输出:1, 3
即多个选中的同名checkbox的值,以,隔开相连,最终得到的是一个字符串。
今天改用php获取
echo $_POST['chk'];
发现,只能获取到最后一个checkbox的值,即3。经过多次测试,发现总是只能获取到最后一个值。
联想到之前写的一篇从多选(multiple)的select中得到所选结果,从这篇得到启示,可能名字要用数组。把chk改为chk[],显示Array。
print_r($_POST['chk']);
显示:
Array ( [0] => 1 [1] => 3 )
原来提交过来就是数组了,哈,这样更好处理:)

Google网站管理员工具新增“链接”标签
多维数组的排序


看这里:http://blog.goalercn.com/blogview.asp?logid=316
这样是可以得到checkbox的值了,可是怎么判断是否至少有个一个checkbox被选中了呢,js或php都行!
我的发现是:如果是chk,js判断可以很容易的实现,可php不就得不到所有的值了吗;如果是chk[],php是可以得到所有值了,可是js判断又搞不定了。
如果有高手可以解决,请加QQ443929665交流。