下面的这个文档,直接运行的话,document.getElementsByTag("input") 就只能取到  4,6,8列的input,其他的取不到。=========================线以下的是代码,直接复制就可以运行===============================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><body>
<FORM name=frm_sbb action="" method=post> 
<TABLE cellSpacing=0 cellPadding=4 width="100%" align=center border=1>
<THEAD>
<TR>
<TD width="2%">&nbsp;</TD>
<TD class=HEAD align=middle width="3%">序号</TD>
<TD class=tdbg1 align=middle>姓名 </TD>
<TD class=tdbg1 align=middle>身份证照类型 </TD>
<TD class=tdbg1 align=middle>身份证照号码 </TD>
<TD class=tdbg1 align=middle>合计 </TD>
<TD class=tdbg1 align=middle>工资薪金所得 </TD>
<TD class=tdbg1 align=middle>承包承租所得 </TD>
<TD class=tdbg1 align=middle>劳务报酬所得 </TD>
<TD class=tdbg1 align=middle>稿酬所得 </TD>
<TD class=tdbg1 align=middle>特许权使用费所得 </TD>
<TD class=tdbg1 align=middle>利息股息红利所得 </TD>
<TD class=tdbg1 align=middle>财产租赁所得 </TD>
<TD class=tdbg1 align=middle>财产转让所得 </TD>
<TD class=tdbg1 align=middle>偶然所得 </TD>
<TD class=tdbg1 align=middle>其他所得 </TD>
<TD class=tdbg1 align=middle>备注 </TD></TR>
<TR>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>
1</TD>
<TD>
2</TD>
<TD>
3</TD>
<TD>
4</TD>
<TD>
5</TD>
<TD>
6</TD>
<TD>
7</TD>
<TD>
8</TD>
<TD>
9</TD>
<TD>
10</TD>
<TD>
11</TD>
<TD>
12</TD>
<TD>
13</TD>
<TD>
14</TD>
<TD>
15</TD></TR></THEAD>
<TBODY id=SB_ZFGRSRMXB_MX onkeydown=doOnKeyDown();>
<TR>
<TD width="2%">&nbsp;</TD>
<TD align=middle width="3%">1</TD>
<TD><INPUT maxLength=5 size=10 name=ZFGRSRMXB_XM> </TD>
<TD>请选择</TD>
<TD><INPUT maxLength=20 size=18 name=ZFGRSRMXB_SFZH> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); readOnly onchange=changeValue(); size=10 value=0.00 name=YBTSE> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=1111.00 name=ZFGRSRMXB_GXSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=2222.00 name=ZFGRSRMXB_CBSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=3333.00 name=ZFGRSRMXB_LBSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=4444.00 name=ZFGRSRMXB_GCSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=5555.00 name=ZFGRSRMXB_TSSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=6666.00 name=ZFGRSRMXB_LHSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=7777.00 name=ZFGRSRMXB_CZSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=8888.00 name=ZFGRSRMXB_CRSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=9999.00 name=ZFGRSRMXB_ORSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=11111111110.00 name=ZFGRSRMXB_QTSD> </TD>
<TD><INPUT maxLength=40 size=18 name=ZFGRSRMXB_BZ> </TD></TR>
<TR>
<TD>&nbsp;</TD>
<TD align=middle>2</TD>
<TD><INPUT maxLength=5 size=10 name=ZFGRSRMXB_XM> </TD>
<TD>请选择</TD>
<TD><INPUT maxLength=20 size=18 name=ZFGRSRMXB_SFZH> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); readOnly onchange=changeValue(); size=10 value=0.00 name=YBTSE> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_GXSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CBSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_LBSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_GCSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_TSSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_LHSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CZSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CRSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_ORSD> </TD>
<TD><INPUT onkeydown=onlyNum(this) onblur=iscurrency(this); onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_QTSD> </TD>
<TD><INPUT maxLength=40 size=18 name=ZFGRSRMXB_BZ> </TD></TR></TBODY>
<TFOOT>
<TR>
<TD>&nbsp;</TD>
<TD align=middle>合计</TD>
<TD>
--</TD>
<TD>
--</TD>
<TD>
--</TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=10 value=0.00 name=ZFGRSRMXB_HJ_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_GXSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CBSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_LBSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_GCSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_TSSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_LHSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CZSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_CRSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_ORSD_sum></TD>
<TD><INPUT onblur=iscurrency(this); readOnly onchange=changeValue(); size=12 value=0.00 name=ZFGRSRMXB_QTSD_sum></TD>
<TD>
--</TD></TR></TFOOT></TABLE>
</FORM> <script>var ipt = document.getElementsByTagName("input");
for(var i=0;i<ipt.length;i++)
{
//就是这里,如果要是 alert(ipt[i].outerHTML);  的话,就发现有一部分input没有取到!
ipt[i].outerHTML = ipt[i].value;
}
</script>
</body>
</html>

解决方案 »

  1.   

    var ipt = document.getElementsByTagName("input");
    alert(ipt.length);结果是39,没有错, document.getElementsByTagName("input")工作正常!
      

  2.   

    ipt.length是动态的<script>
    var ipt = document.getElementsByTagName("input");
    var n = ipt.length;
    for(var i=0;i<n;i++)
    {
       alert(ipt[i].outerHTML)
       //ipt[i].outerHTML = ipt[i].value;
    }
    </script>
      

  3.   

    这是List的问题如果你在你的jsfor循环中加入Alert(ipt.length);你会发现ipt 的length 逐渐在减少.因为ipt[i].outerHTML = ipt[i].value;之后先前的input 已经不是一个input 标签了这是我写的代码,你看看吧,应该是你想要得吧    <script>var ipt = document.getElementsByTagName("input");
    for(var i=0;i<ipt.length;i++)
    {
    //alert(ipt.length);    ipt[i].outerHTML = ipt[i].value;
        i--;
    }
        </script>