function aa() 
    {
        var obj = document.getElementsByName("fxk");
  var str = "";
  for(var i = 0 ;i<obj.length;i++)
  {
     if(obj[i].checked)
               str += obj[i].value + ",";
  }
   alert(document.getElementById("fxk1").value);
 str=str+document.getElementsById("fxk1").value;  document.getElementById("fxk_value").value = str;  
                   alert(document.getElementById("fxk_value").value);
 document.getElementById("form1").submit(); 
     }
这段脚本有什么问题,为什么alert(document.getElementById("fxk1").value);有值,确报 str=str+document.getElementsById("fxk1").value;这个为空

解决方案 »

  1.   

    问题行:str=str+document.getElementsById("fxk1").value;兄弟呀这句写错了:是getElementById不是getElementsById,你多写了一个s
      

  2.   


    嗯搞定了,不是我多谢了一个s,我的源码是使用的getElementsByName,发到这里复制的时候错了。
    但是还是有一个问题,为什么使用getElementById可以,是用getElementsByName就不可以了?
    我在下面定义了,name和id属性的
      

  3.   


    ++另外,obj沒有判空,一定要判空。
      

  4.   


    试试、document.getElementsByTagName("input")[0].value   或者document.getElementsByTagName("fxk1").value;   
      

  5.   

    getElementsByName也可以的,但是getElementsByName获取到的是个数组,需要做处理例如var docs = document.getElementsByName("xxx");
    for(var i = 0; i < docs.length; i++){
        var doc = docs[i];
    }