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