<input type="checkbox" name="cb[]" value="<? echo $array1[$num];?>" />
<input type="hidden" name="username[]" value="<? echo $username[$num];?>" />
<input type="hidden" name="userage[]" value="<? echo $userage[$num];?>" />
<input type="hidden" name="useraddr[]" value="<? echo $useraddr[$num];?>" />
<input type="hidden" name="username[]" value="<? echo $username[$num];?>" />
<input type="hidden" name="userage[]" value="<? echo $userage[$num];?>" />
<input type="hidden" name="useraddr[]" value="<? echo $useraddr[$num];?>" />
请注意代码中是有循环的,可以生成多个<div>...</div>,<div>中包含的就是 <input type="checkbox" name="cb[]" value="<? echo $array1[$num];?>" />
<input type="hidden" name="username[]" value="<? echo $username[$num];?>" />
<input type="hidden" name="userage[]" value="<? echo $userage[$num];?>" />
<input type="hidden" name="useraddr[]" value="<? echo $useraddr[$num];?>" />就比如淘宝的商品搜索结果列表一样,选中其中几个商品前面的checkbox,然后点“比较”按钮,提交checkbox数据到下一个php文件。我的流程和淘宝有一些差别,我不光想提交checkbox数据,还要提交已经被选中checkbox对应的兄弟数据,也就是那些hidden数据 .不知我说清楚了没有?
我想了很多办法,都没办法做到
当onsubmit检测哪个checkbox.checked=true,然后把对应的javascript的array值赋给hidden
然后return true提交
比方说,你选中的项的为"checkBox1",则
<input type="hidden" name="usernameCHK1" value="<? echo $username[$num];?>" />
<input type="hidden" name="userageCHK1" value="<? echo $userage[$num];?>" />
<input type="hidden" name="useraddrCHK1" value="<? echo $useraddr[$num];?>" />
其它的类似,提交时如果是选中的,比方说"checkBox1"被选中,则到了second.php,可以只选
$_RQUEST['usernameCHK1'],$_RQUEST['userageCHK1'],$_RQUEST['useraddrCHK1'],
方法有点木,应该能解决你的问题,或者,你用JS来控制
表单还是按唠叨老大那样改
checkbox只有选中的才会有值传过去,所以你可以根据所得到的checkbox的值就可以知道选择的是数组中的哪个,并相应的取得需要的hidden元素的值:
示例:
<?php
//把你需要的数据分别存在$cb,$username,$userage,$useraddr
//注:仅限于只有一个checkbox被选中
//取得checkbox的值
$cb = $_POST['cb'][0]; //只有一个checkbox被选中时,传递过来的值都放在数组的第一个元素
//根据checkbox的值取得需要的hidden值
$username = $_POST['username'][$cb];
$userage = $_POST['userage'][$cb];
$useraddr = $_POST['useraddr][$cb];
?>
当然还有办法解决,可以把表单分开,每个循环是一个表单,点击checkbox触发相应表单提交
你只需通过提交的checkbox的值选取对应的hidden的值就可以了。
表单还要改一下
<input type="checkbox" name="cb[]" value="<? echo $array1[$num];?>" />
<input type="hidden" name="username[<? echo $num;?>]" value="<? echo $username[$num];?>" />
<input type="hidden" name="userage[<? echo $num;?>]" value="<? echo $userage[$num];?>" />
<input type="hidden" name="useraddr[<? echo $num;?>]" value="<? echo $useraddr[$num];?>" />如果你不需要传递全部数据,在可以把用户信息组装在checkbox的value中,提交后再拆分
<input type="checkbox" name="cb[]" value="<? echo $array1[$num].','.$username[$num].','.$userage[$num].','.$useraddr[$num];?>" />