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