这是html代码:<input type="checkbox" name="f_gender[]" id="f_gender" value="M" 
class="checkbox"/>男性<br/>
  <input type="checkbox" name="f_gender[]" id="f_gender" value="F" 
class="checkbox"/>女性</td>因为要提交到php文件,并且前台也想判断一下checkbox是否被选中,这是javascript代码
 var f_gender=document.getElementsByName('f_gender');
 var f_gendernum=0;
 var f_sex='';
 for(i=0;i<f_gender.length;i++){
 
 if(f_gender[i].checked){
if(i==0){
f_sex='男性';
}else{
f_sex+='女性';
}
 
 }
 }但是在firefox浏览器中却得不到f_sex的值,请问高手哪出了错误,应该怎么写??

解决方案 »

  1.   

    首先得提醒你 同一页面id是不能重复的
    同时根据你的代码 应该是要么选择男要么选择女 这时候应该用radio单选
    直接将radio的name值设置为f_sex 然后接受值就行了
    为何要绕这么大个弯
      

  2.   

    name="f_gender[]"
    getElementsByName('f_gender');这个不对吧 
      

  3.   

    估计LZ可能是美观原因而选择两个复选框来做单选框的事吧,我也这样做过。
    我的思路是,给同一组复选框命名同一个名字,ID值可要可不要,给每个复选框添加一个onclick事件
    onclick="xx()"
    再在xx()里面,用document.getElementsByName()得到所有指定的复选框,把其他的复选框的勾去掉。这样每个复选框单击时,都能保证只有自己被选中,间接实现了“有我无它”的效果。
      

  4.   

    var f_gender=document.getElementsByName('f_gender[]');
    IE好像用ID属性也行,FIREFOX要用name属性               
      

  5.   

    用单选框呗,为什么要用checkbox呢@
      

  6.   

    我做的是一个交友页面,认识的朋友男女都可以选,所以用checkbox
      

  7.   

    征友宣言:
    自己写:
    你好,你可以叫我{username}。
    我是一位{gender}性,今年{age}岁,现在{live},希望认识{f_gender},我们可以{purpose}。
    我帮你写:
    你好,你可以叫我{username}。
    我是一位{gender}性,今年{age}岁,现在{live},希望认识{f_gender},Ta最好是【复选框】【成功男、名媛、帅哥、美女】,我们可
    以{purpose}。
    我的兴趣爱好是_______________________,
    我心仪目标的年纪是【下拉框】、最好住在【下拉框】、身高【下拉框】、体重【下拉框】。
    让我们约会吧!
    这是老板让我写的js程序,对我来说,很有压力啊
      

  8.   

    你用的是form提交?要不是,没有必要name取值为f_gender[],我看你后边的代码也循环取值了。。
      

  9.   

    ID吧
     name喜欢出问题的
      

  10.   

    对,我要进行form取值,将这些信息提交到后台
      

  11.   

    getElementByName不是标准方法,不建议使用
    可以考虑使用两个不同的id,用getElementById去获取。或者用getElementsByTagName再过滤出标签来
    用名字可以使用document[表单名][input名]获取数组对象