最近学php,因为刚接触不久,看似一个简单的问题有时候也着实浪费了好多时间,其实很多事情当不出来的时候很纠结,但是在最后研究出来的时候回头看看其实很简单,但是还是要学着小总结一下了,时间久了有很多事情还是很容易忘记的,今天就刚做的一个循环得出的复选框,然后提交表单后得到复选框的值来写一下吧,
首先我是循环得到了复选框
View Code
1 <?
2 for($i=1; $i<=count($ip_ini_array["address_object"]); $i++)
3 {
4 $info = explode(" ", trim($ip_ini_array["address_object"]["address_object".$i]));
5 if($adress==$info[0])
6 $reachip=$info[1];
7
8 ?>
9 <input type="checkbox" name="adress[]" id="adress[]" value="<? echo $info[0]?>" <? if($adress==$info[0]){?> echo checked="checked";<? }?>/>
10 <? echo $info[0]?> <? }?>
在这里注意要将复选框名字命名为数组形式的,先提一下在js中如何验证复选框值为空的问题,在表单提交的时候验证这个,这样就ok了
View Code
1 function check(){
2 var checked=false;
3 var ids= document.getElementsByName("adress[]");
4 for(var i=0;i<ids.length;i++){
5 if(ids[i].checked){
6 checked=true;
7 }
8 }
9 if(!checked){
10 alert("请选择所要提交的源地址!");
11 return false;
12 }
13 return true;
14 }
然后就是php的验证,这个是很简单的,直接得到提交过来的值,这将是一个数组,取出数组个数,就可以判断是否选中的有无值了
$weeks = $_POST['adress']; 加入if(count($weeks)==0)就说明复选框没有一个是选中的,接着来取出复选框的值
就是for循环数组得到里面的值了。