当复选框数组中只有一个元素时,document.friendform1.friends[i].checked 不起作用。如果复选框数组中有多个元素,则它工作正常
我的 html 和 php 代码是
 $x=0;
foreach($result as $row)
{
    if($x==0)
    {?>
        <div class="invite-friends-con">
    <?php 
    }else{?>
        <div class="invite-friends-con" style="margin-left:70px;">
    <?php 
    }?>
    <div class="invite-friends-con-img">
       <img src="<?php echo base_url();?>Profile_images/<?php echo $row->vchPicture?>" width="48" height="39" align="absmiddle" />
    </div>
    <span><?php echo $row->vchFirstName?></span><input type="checkbox" name="friends[]"  style="margin-top:10px" value="<?php if($row->intFriendID==$this->session->userdata('user_id')){ echo $row->intMemberID;}else{ echo $row->intFriendID;}?>" id="friends"  />
    <input type="hidden" name="frnd[]" id="frnd" value="<?php echo $row->vchFirstName?>" />
    <?php if($x==1){$x=0;}else{$x++;}?>
<?php 
} ?>
和javascript代码是:
 function addalfriend()
 {
   var str='';
   var str1='';
    var len=document.friendform1.friends.length;
    for(i=0;i<len;i++)
    {
      if(document.friendform1.friends[i].checked==true)
       {
         if(str=='')
         {
           str=document.friendform1.friends[i].value;
           str1=document.friendform1.frnd[i].value;
         }
         else
         {
           str=str+","+document.friendform1.friends[i].value;
           str1=str1+","+document.friendform1.frnd[i].value;
         }
       }
    }
        document.getElementById('invite_1').value=str;
        if(str!='' && str1!=''){
            document.getElementById('invited').style.display="block";
        }
        else{
            document.getElementById('invited').style.display="none";
        }
        document.getElementById('invited').value = str1;
        document.getElementById("low-high-div").style.display="none";
        document.getElementById("events-input-bg2").value="";
        document.getElementById("events-input-bg3").value="";
        closemessage1();
        return false;
 }
所以请有人让我知道我的错误。
谢谢