使用同名checkbox的问题

victorhero 2006-09-07 03:17:20
我使用了数组这种方式来处理同名checkbox的提交,但是遇到一个问题,就是如果不是在同一页,存在翻页的情况下,前一页选定的checkbox就会没有作用了,请问该如何解决?

比如有一组数据按10个一页分页,我在第一页选择2个,再到第二页选择两个,这时只有第二页的两个被选定了,第一页选择的就无效了.
...全文
286 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
victorhero 2006-09-07
  • 打赏
  • 举报
回复
好的.^_^
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
再不明白,加qq 18345222
victorhero 2006-09-07
  • 打赏
  • 举报
回复
谢谢,我再看看.
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
至于用何种方式,怎么做,就看你自己了,综合一下上面的代码,实现你所要的效果应该不是问题.
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
另外,点击分页同时提交表单也不是不能实现,你可以在表单的链接中这样写.
<script language='javascript'>
function submitPages(form,page)
{
form.action = 'xxxx.php?page=' + page;
form.submit;
}
</script>
<a href='#' onclick='javascript:submitPages(form,1)'>1</a>
<a href='#' onclick='javascript:submitPages(form,2)'>2</a>
<a href='#' onclick='javascript:submitPages(form,3)'>3</a>

程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
上述代码的前提是要在表单提交后才能记住表单提交前的选中状态,在分页的时候将数组分割的字符串以值的方式传递.

把值放在hidden的表单中,点击分页如果不完成表单提交的状态是没有办法获得表单的值的.如果你能保证点击分页链接就能提交表单的话,哪根本不用做数组->字符串->数组这样的操作,直接从checkbox的数组里就能得到了.

关键要有个先后问题.
victorhero 2006-09-07
  • 打赏
  • 举报
回复
是这样的,首先页面已10条记录为界分页,每条记录前面有一个checkbox,然后有三个不同的提交link,分别是打印\删除\下载选定的数据,用javascript来实现提交.

分页是按照 1,2,3...这样的方法来显示.

其实现在我可以将数组的值放入到一个hidden的表单中,但是如何让这个hidden的值随分页一起传递呢?

如果用$arrCheckbox = $_POST['schbox'];
$strCheckbox = implode(",", $arrCheckbox);
那么存在一个提交表单的操作,但是分页link中如何去做呢?
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
//$arrType 为你要列出的checkbox的静态数组
foreach($arrType as $key => $value)
{
if(in_array($key,$arrCheckbox))
echo "<input type='checkbox' name='schbox[]' value = '$key' checked >$value ";
else
echo "<input type='checkbox' name='schbox[]' value = '$key' >$value";
}
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
//在表单提交的时候获取值,并将其保存在字符串中.
$arrCheckbox = $_POST['schbox'];
$strCheckbox = implode(",", $arrCheckbox);

//分面后以GET方式或者SESSION传递 本例用GET方式.
$strCheckbox = $_GET['strCheckbox'];//strCheckbox用来保存strCheckbox的值
$arrCheckbox = explode(',',$strCheckbox);
//然后在输出checkbox的时候用in_array来检查是否被选中
victorhero 2006-09-07
  • 打赏
  • 举报
回复
如何在翻页时将数组换成字符串传递呢?
程序猿之殇 2006-09-07
  • 打赏
  • 举报
回复
提交以后,将数组转成字符串,将字符串做为参数在分页的时候传递.
或者将参数保存为SESSION.

还有一种可能的办法,就是分页链接做成表单提交的方式.
johnpanq 2006-09-07
  • 打赏
  • 举报
回复
一页一页处理。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧