为什么表单中有未定义/隐藏的元素?

0 javascript forms arrays

我在表单中有3个输入.然而,当我使用序列化数据funciton is()时,在元素0的数组中找到了第4个字段.我可以通过从1开始循环来解决这个问题,但是有人知道这是什么吗?

IE的调试输出如下所示

"undefinedf0a=on&f0b=&f0c="
Run Code Online (Sandbox Code Playgroud)

对于var b.

f0a,f0b和f0c是我的输入名称,"undefined"是这里的关注点.

function is(a)
  {
  var b;
  var c = document.forms[a].elements;   
  // test_input_signup(list)
  if(1)
    {
    for(i=0;i<c.length;i++) 
      {     
      b += c[i].name+"="+c[i].value+"&"; 
      }
      b = b.slice(0, -1)
    }
    return b;
  }
Run Code Online (Sandbox Code Playgroud)

mVC*_*Chr 7

您需要初始化b为空字符串:

var b = '';
Run Code Online (Sandbox Code Playgroud)