当然是只能择其一,因为是单列嘛,如果非要取列表的话,那么就变态一点吧----在每个chexkbox的后面都加上<input type="hidden" name="tf[$count]" value="1">
$count每次加一,然后 //list($var1, $var2):$var1表示数组的名称,$var2表示数组的值
while(list($key, $val) = each($tf))
{
echo "key:$key val:$val"; //取分数数组
}
$count每次加一,然后 //list($var1, $var2):$var1表示数组的名称,$var2表示数组的值
while(list($key, $val) = each($tf))
{
echo "key:$key val:$val"; //取分数数组
}
你应该将他们的名字起的不一样!checkbox选中则返回它的value值,否则返回控制。
因为你的checkbox的name一样,所以当选择了1、2、3时,变量$tf依次被赋值为"1","2","3";
其结果还是"3"!
要想多选
<form name="form1" action="test.php" method="post">
<p>
<input type="checkbox" name="tf1" value="1">
<input type="checkbox" name="tf2" value="2">
<input type="checkbox" name="tf3" value="3">
<input type="checkbox" name="tf4" value="4">
<input type="checkbox" name="tf5" value="5">
</p>
</form>这样,五个变量 $tf1,$tf2,$tf3,$tf4,$tf5,如果选中则为value值(字符);
未选中则为空值。
他们的名字不应该一样
<form name="form1" action="test.php" method="post">
<p>
<input type="checkbox" name="tf[]" value="1">
<input type="checkbox" name="tf[]" value="2">
<input type="checkbox" name="tf[]" value="3">
<input type="checkbox" name="tf[]" value="4">
<input type="checkbox" name="tf[]" value="5">
</p>
</form>
//test.php
$i = count($tf);
for($n=0;$n < $i;$n++)
{
//$tf[$n]就是选中的值。
}
松松搞定。
呵呵。不相信的话你可以自己试试看。
<form name="form1" action="test.php" method="post">
<p>
<input type="checkbox" name="tf1" value="1">
<input type="checkbox" name="tf2" value="2">
<input type="checkbox" name="tf3" value="3">
<input type="checkbox" name="tf4" value="4">
<input type="checkbox" name="tf5" value="5">
<input type="hidden" name="check_num" value="5">
</p>
</form>//test.php
for($i = 0 ; $i <= $check_num ; $i++)
{
$tf = "tf".$i;
echo $tf;
echo " = ";
echo $$tf;
echo "<br>\n";
}这样的话可以使用php动态生成上面的提交表单,而不需要考虑有多少checkbox