45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > Photoshop >

处理多个同名复选框

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:28 作者:45IT收集

如果一个表单中有多个同名复选框,在提交到php时却只有一个值,而并不像asp那样是一串用逗号分割的值。有一个很简单的方法来解决:将复选框的name后面加上[],例如: 
  <input type="checkbox" name="ccc" value="1"> 
改为:<input type="checkbox" name="ccc[]" value="1">。
  这样php将得到一个叫ccc的阵列。如果您要在客户端对复选框是否被选择、选择了几个用javascript来判断时,javascript会因为复选框的name中含有[]而出错。可以在表单中加入一个隐含域,用javascript设置它的值:
  <script language="javascript"> 
  function check()
  {
  var strchoice="";
  for(var i=0;i<document.news.choice.length;i++)
  { 
  if (document.news.choice[i].checked) 
  { 
  strchoice=strchoice+document.news.choice[i].value+","; 
  } 
  } 
  if (!document.news.choice.length) 
  { 
  if (document.news.choice.checked) 
  { 
  strchoice=document.news.choice[i].value;+"," 
  } 
  } 
  strchoice=strchoice.substring(0,strchoice.length-1); 
  document.news.choiceid.value=strchoice; 
  alert(document.news.choiceall.value); 
  } 
  </script> 
  <html> 
  ... 
  <form name="news" action="test.php" method="post" onsubmit="check()"> 
  <input type="checkbox" name="choice" value="1"> 
  <input type="checkbox" name="choice" value="2"> 
  <input type="checkbox" name="choice" value="3"> 
  <input type="checkbox" name="choice" value="4"> 
  <input type="hidden" name="choiceid" value=""> 
  </form> 
  ... 
  </html>

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识