WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

处理多个同名复选框

更新时间: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%
------分隔线----------------------------
你可能感兴趣的内容