getElementByTagName('input')取不到值

时间:2022-11-08 19:31:04
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~

44 个解决方案

#1


少了个s
getElement sByTagName(

#2


是document.getElementsByTagName前面的document也不能省略,可以替换成其它元素

#3


UP

#4


的确,document.getElementsByTagName中,document和那个s是不能少的

#5


该回复于2010-08-06 10:51:14被版主删除

#6


那个S我代码里面是没少的。

#7


我是想知道getElementsByTagName('input')有没有取不到值的情况,比如input中有readonly~,有没有什么属性的设置会使JS引擎忽略那个input.我用同事做的界面条用那段代码是可以正常显示取到的input,但是我自己的界面就是取不到。

#8


贴代码 

#9


源代码是这样的
function ok_onclick()
{
    var rows = new Array()

    var _table = document.getElementById('<%=_Table.ClientID%>');
    var elements =_table.getElementsByTagName('input')
    alert(elements.length);//这里是我设置的弹出点 显示为[object],用同事的界面调用就没有问题
    for(var i=0;i<elements.length;i++)
    {
        if(elements.item(i).name=='_select')
        {
            if(elements.item(i).checked==true)
            {
               var row = _table.rows[elements.item(i).parentNode.parentNode.rowIndex]
               var controls = row.getElementsByTagName('input')
               var objs = new Array()
               
               for(var j=0;j<controls.length;j++)
               {
                    if(controls.item(j).name!='_select')
                    {
                       var obj = new Object()
                       obj.name=controls.item(j).name
                       obj.value=controls.item(j).value
                       objs[j] = obj
                    }
               }
               rows[rows.length]=objs
            }
        }
    }

#10


getElementsByTagName会得到一个数组,便利一下,应该不会有错的呀

#11


private void QueryData()//这个方法是ASP.NET后台方法,取数据并将数据以表格的形式写入页面,上面的JS方法是从页面获得后台写入到页面的数据并且保存为Array(),供其他JS方法使用。
    {
        try
        {
            _DataSource = _ISysObject.GetDataBySqlStr("exec " + this._ObjectImportEntity.ImportObject + getConditionStr());
        }
        catch { }

        for (int i = 0; i < _DataSource.Rows.Count; i++)
        {
            //加选择列
            HtmlTableRow row = new HtmlTableRow();
            HtmlTableCell tcex = new HtmlTableCell();
            tcex.Attributes.Add("class", "DetailCellStyle");
            tcex.InnerHtml = "<input name=\"_select\" style=\"width:100%\" type=\"checkbox\"";
            row.Cells.Add(tcex);


            for (int j = 0; j < this._ObjectImportEntity.ImportData.Count; j++)
            {
                ObjectImportDataEntity data = this._ObjectImportEntity.ImportData[j] as ObjectImportDataEntity;

                if (data.IsDetail == 1)
                {
                    HtmlTableCell tc = new HtmlTableCell();
                    tc.Attributes.Add("class", "DetailCellStyle");

                    tc.InnerHtml = " <input name=\"" + data.AttributeCode + "\" readonly=\"readonly\"  class=\"ControlStyle\" type=\"text\" value=\"" + _DataSource.Rows[i][data.AttributeCode].ToString() +"\"   />";
                    if (data.IsShow != 1)
                    {
                        tc.Attributes["style"] = "display:none";
                    }
                    row.Cells.Add(tc);
                }
            }

            this._Table.Rows.Add(row);
        }

    }

#12


引用 10 楼 c_4444 的回复:
getElementsByTagName会得到一个数组,便利一下,应该不会有错的呀

是啊~就是因为看似一点错没有的代码却有问题,这2段代码是出自项目中的一个汇入控件,汇入控件更具用户传入的表名等信息来获得不同的数据,然后将数据显示在页面上供用户选择(每行都有个CheckBox);第一段JS代码就是取得用户选择的行(一行或多行数据)放入数组。

#13


解答:document.getElementById(' <%=_Table.ClientID%>'); 
你的id是"<%=_Table.ClientID%>"?
应该是document.getElementsByTagName('input')的形式
小小心得:你起的id真是够传说、够独树一帜。。。。

#14


没有错,很明白错了。
应该是document.getElementsByTagName('input'),它写成了_table.getElementsByTagName('input')
即使你的input是包含在id为"<%=_Table.ClientID%>”的元素里,但是获得时依然用document.getElementsByTagName('input')
这种方式,用jquery最简单,如果还不明白的话,把你的html贴出来,我看看input的位置。

#15


这个是另外一大神写的控件~我只是调用而已,初级程序员好惨哎,我试试你的方法document.getElementsByTagName('input'),看看有没有问题,不过另外一同事也是用的他的控件咋就没问题呢,这不是说明_table.getElementsByTagName('input')也是可以的吗?

#16


少了个s 

#17


使用jquery吧,会简单很多。
1.下载jquery.js
jquery.js
2.在页面中引入上述js
<script language="javascript" src="js/jquery-1.3.2.min.js"></script>
3.获取包含在id为<%=_Table.ClientID%>的所有input元素.
$('#<%=_Table.ClientID%> > input')

#18


改成document.getElementsByTagName('input')也是不行的,改之前和改这后同事的那个界面都是正常的,说明这2中方法都有效;同事的界面我是获取到本机运行的没问题,说名我的浏览器和汇入控件应该都是没问题的。只不过具体到我这个界面咋就不行了呢~

#19


引用 17 楼 chen_xiangguo 的回复:
使用jquery吧,会简单很多。
1.下载jquery.js
jquery.js
2.在页面中引入上述js
<script language="javascript" src="js/jquery-1.3.2.min.js"> </script>
3.获取包含在id为 <%=_Table.ClientID%>的所有input元素.
$('# <%=_Table.ClientID%> > input')

哎,这项目是用的都是以前的架构,控件啥的都做好了~小程序员没权利改只能用~

#20


那个你看不到的页面是这样吧:
若干input 包含在一个id为"<%=_Table.ClientID%>"。
1.如果你只想获得那个页面的input(这个页面的input不获得),那就这样。
引入jquery文件后

function getInput()
{

if($('input').parent()[0].id=="<%=_Table.ClientID%>")
{
 return $('input');
}
return null;
}


2.你想获取所有的input:
$('input')
你没有改的,你只是引用了一个js文件呀。对不

#21


引入JS文件到控件中吗?那也是改了啊~
如果引入到我自己的页面中,应该取不到的,
应为这个控件是以var returntable = window.showModalDialog('<%=ResolveUrl("~/Public/CommandControls/ImportControl.aspx")%>?_ObjectCode=PoManage.VendorPriceMaster&_ItemNo=2&_IsHiddenQuery=false&'+DefaultParam,Math.random(),"dialogHeight: 655px; dialogWidth: 759px; center: Yes;help:no; resizable: Yes; scroll:yes;")
这种方式弹出一个子窗体来实现的。点击确定以后窗体会关闭,返回returntable(这个就是出问题的代码要获得的数组)

#22


谢谢你的关注,我再想想办法,如果问题解决了,我会马上把原因发上来供大家参考

#23


引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页 
如果值大于0 就表示你的js 方法写早了. 

#24


引用 23 楼 henjiong 的回复:
引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页
如果值大于0 就表示你的js 方法写早了.

学习咯

#25


路过,学习了

#26


引用 23 楼 henjiong 的回复:
引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页
如果值大于0 就表示你的js 方法写早了.


这个方法和我在页面中使用alert(document.getElementsByTagName("input").length); 是没有区别的吧

#27


javascript:alert(document.getElementsByTagName("input").length); 
和但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object] 
有区别吧,“alert(element.length)显示[object]”怎么会是object呢,要么是>=0或undefined

#28


肯定是代码有问题,再仔细研究下吧,

#29


这个问题还没有解决~写那汇入控件的人也说可以先忽略,但是这么诡异的问题,如果不解决我死不瞑目啊~~

#30


该回复于2010-08-06 10:53:18被版主删除

#31


刚才才有时间试验了一下HenJiong提供的方法:
在浏览器地址栏 写 
javascript:alert(document.getElementsByTagName("input").length); 
如果值为0 就表示没有 input  或者 input 不在本页 
如果值大于0 就表示你的js 方法写早了. 
===================
结果显示的依然是 [objec]

#32


最近忙得不可开交~这个问题还是纯在的,单从代码看我真的看不出问题。希望哪天头脑清醒的时候能让我找到问题的原因。。。。朋友们敬请关注

#33


var _table = document.getElementById(' <%=_Table.ClientID%>'); 
建议楼主在这句话后加上alert(_table);
看看你的_table是什么,我感觉你的这个变量在获取值时就已经错误了。
id怎么会有这个样子的呢“<%=_Table.ClientID%>”,这应该是获取_Table.ClientID变量值的方法,所以你的这正id应该是这个变量的值吧,如果是这样,你的_table变量的取值就是错误的

#34


谢谢你的关注。问题不在这里。
如果控件放在页签或其他容器上,生成页面后,ID会加上前缀的,_Table到客户端以后可能会成XXXX_Table
这个var _table = document.getElementById('<%=_Table.ClientID%>');中包括在<%%>之间的语句会在服务器端执行哦~也就是在服务器端就把var _table = document.getElementById('<%=_Table.ClientID%>');变成var _table = document.getElementById(‘XXXX_Table’);
所以这里是没问题的,我也alert()了,是可以正确取到表的。
哎,继续寻觅


#35


改了点东西,先试试吧。另外在运行JS前请保证你的页面已LOAD完毕。
function ok_onclick()
{
    var rows = new Array()

    var objlist = document.getElementById(' <%=_Table.ClientID%>').getElementsByTagName("input");
    //var objelement =_table.getElementsByTagName('input')
    //alert(elements.length);//这里是我设置的弹出点 显示为[object],用同事的界面调用就没有问题
    for(var i=0;i <elements.length;i++)
    {
        if(elements.item(i).name=='_select')
        {
            if(elements.item(i).checked==true)
            {
              var row = _table.rows[elements.item(i).parentNode.parentNode.rowIndex]
              var controls = row.getElementsByTagName('input')
              var objs = new Array()
             
              for(var j=0;j <controls.length;j++)
              {
                    if(controls.item(j).name!='_select')
                    {
                      var obj = new Object()
                      obj.name=controls.item(j).name
                      obj.value=controls.item(j).value
                      objs[j] = obj
                    }
              }
              rows[rows.length]=objs
            }
        }
    }

#36


如果还有问题就加上TRY CATCH 和DEBUGGER调试一下

#37


学习路过

#38


引用 1 楼 sohighthesky 的回复:
少了个s
getElementsByTagName(

modify

#39


document.getElementsByTagName()

#40


是的,最好调试一下。就会发现问题所在了。

#41


不是行不到,是得到了一个数组。

#42


引用 36 楼 avengercf 的回复:
如果还有问题就加上TRY CATCH 和DEBUGGER调试一下

首先谢谢你给的代码和建议,但是我试验了一下问题依然,alert数组长度显示还是[object].
用try{...
       ...
       var elements =document.getElementsByTagName('input');
     ...
     } catch(e)
     {alert("erro");}
     finally
      {
       alert("finally")
       } 也没有抛异常。

#43


给每个input加上id   用getElementById("name") 取值

#44


少了个s。

#1


少了个s
getElement sByTagName(

#2


是document.getElementsByTagName前面的document也不能省略,可以替换成其它元素

#3


UP

#4


的确,document.getElementsByTagName中,document和那个s是不能少的

#5


该回复于2010-08-06 10:51:14被版主删除

#6


那个S我代码里面是没少的。

#7


我是想知道getElementsByTagName('input')有没有取不到值的情况,比如input中有readonly~,有没有什么属性的设置会使JS引擎忽略那个input.我用同事做的界面条用那段代码是可以正常显示取到的input,但是我自己的界面就是取不到。

#8


贴代码 

#9


源代码是这样的
function ok_onclick()
{
    var rows = new Array()

    var _table = document.getElementById('<%=_Table.ClientID%>');
    var elements =_table.getElementsByTagName('input')
    alert(elements.length);//这里是我设置的弹出点 显示为[object],用同事的界面调用就没有问题
    for(var i=0;i<elements.length;i++)
    {
        if(elements.item(i).name=='_select')
        {
            if(elements.item(i).checked==true)
            {
               var row = _table.rows[elements.item(i).parentNode.parentNode.rowIndex]
               var controls = row.getElementsByTagName('input')
               var objs = new Array()
               
               for(var j=0;j<controls.length;j++)
               {
                    if(controls.item(j).name!='_select')
                    {
                       var obj = new Object()
                       obj.name=controls.item(j).name
                       obj.value=controls.item(j).value
                       objs[j] = obj
                    }
               }
               rows[rows.length]=objs
            }
        }
    }

#10


getElementsByTagName会得到一个数组,便利一下,应该不会有错的呀

#11


private void QueryData()//这个方法是ASP.NET后台方法,取数据并将数据以表格的形式写入页面,上面的JS方法是从页面获得后台写入到页面的数据并且保存为Array(),供其他JS方法使用。
    {
        try
        {
            _DataSource = _ISysObject.GetDataBySqlStr("exec " + this._ObjectImportEntity.ImportObject + getConditionStr());
        }
        catch { }

        for (int i = 0; i < _DataSource.Rows.Count; i++)
        {
            //加选择列
            HtmlTableRow row = new HtmlTableRow();
            HtmlTableCell tcex = new HtmlTableCell();
            tcex.Attributes.Add("class", "DetailCellStyle");
            tcex.InnerHtml = "<input name=\"_select\" style=\"width:100%\" type=\"checkbox\"";
            row.Cells.Add(tcex);


            for (int j = 0; j < this._ObjectImportEntity.ImportData.Count; j++)
            {
                ObjectImportDataEntity data = this._ObjectImportEntity.ImportData[j] as ObjectImportDataEntity;

                if (data.IsDetail == 1)
                {
                    HtmlTableCell tc = new HtmlTableCell();
                    tc.Attributes.Add("class", "DetailCellStyle");

                    tc.InnerHtml = " <input name=\"" + data.AttributeCode + "\" readonly=\"readonly\"  class=\"ControlStyle\" type=\"text\" value=\"" + _DataSource.Rows[i][data.AttributeCode].ToString() +"\"   />";
                    if (data.IsShow != 1)
                    {
                        tc.Attributes["style"] = "display:none";
                    }
                    row.Cells.Add(tc);
                }
            }

            this._Table.Rows.Add(row);
        }

    }

#12


引用 10 楼 c_4444 的回复:
getElementsByTagName会得到一个数组,便利一下,应该不会有错的呀

是啊~就是因为看似一点错没有的代码却有问题,这2段代码是出自项目中的一个汇入控件,汇入控件更具用户传入的表名等信息来获得不同的数据,然后将数据显示在页面上供用户选择(每行都有个CheckBox);第一段JS代码就是取得用户选择的行(一行或多行数据)放入数组。

#13


解答:document.getElementById(' <%=_Table.ClientID%>'); 
你的id是"<%=_Table.ClientID%>"?
应该是document.getElementsByTagName('input')的形式
小小心得:你起的id真是够传说、够独树一帜。。。。

#14


没有错,很明白错了。
应该是document.getElementsByTagName('input'),它写成了_table.getElementsByTagName('input')
即使你的input是包含在id为"<%=_Table.ClientID%>”的元素里,但是获得时依然用document.getElementsByTagName('input')
这种方式,用jquery最简单,如果还不明白的话,把你的html贴出来,我看看input的位置。

#15


这个是另外一大神写的控件~我只是调用而已,初级程序员好惨哎,我试试你的方法document.getElementsByTagName('input'),看看有没有问题,不过另外一同事也是用的他的控件咋就没问题呢,这不是说明_table.getElementsByTagName('input')也是可以的吗?

#16


少了个s 

#17


使用jquery吧,会简单很多。
1.下载jquery.js
jquery.js
2.在页面中引入上述js
<script language="javascript" src="js/jquery-1.3.2.min.js"></script>
3.获取包含在id为<%=_Table.ClientID%>的所有input元素.
$('#<%=_Table.ClientID%> > input')

#18


改成document.getElementsByTagName('input')也是不行的,改之前和改这后同事的那个界面都是正常的,说明这2中方法都有效;同事的界面我是获取到本机运行的没问题,说名我的浏览器和汇入控件应该都是没问题的。只不过具体到我这个界面咋就不行了呢~

#19


引用 17 楼 chen_xiangguo 的回复:
使用jquery吧,会简单很多。
1.下载jquery.js
jquery.js
2.在页面中引入上述js
<script language="javascript" src="js/jquery-1.3.2.min.js"> </script>
3.获取包含在id为 <%=_Table.ClientID%>的所有input元素.
$('# <%=_Table.ClientID%> > input')

哎,这项目是用的都是以前的架构,控件啥的都做好了~小程序员没权利改只能用~

#20


那个你看不到的页面是这样吧:
若干input 包含在一个id为"<%=_Table.ClientID%>"。
1.如果你只想获得那个页面的input(这个页面的input不获得),那就这样。
引入jquery文件后

function getInput()
{

if($('input').parent()[0].id=="<%=_Table.ClientID%>")
{
 return $('input');
}
return null;
}


2.你想获取所有的input:
$('input')
你没有改的,你只是引用了一个js文件呀。对不

#21


引入JS文件到控件中吗?那也是改了啊~
如果引入到我自己的页面中,应该取不到的,
应为这个控件是以var returntable = window.showModalDialog('<%=ResolveUrl("~/Public/CommandControls/ImportControl.aspx")%>?_ObjectCode=PoManage.VendorPriceMaster&_ItemNo=2&_IsHiddenQuery=false&'+DefaultParam,Math.random(),"dialogHeight: 655px; dialogWidth: 759px; center: Yes;help:no; resizable: Yes; scroll:yes;")
这种方式弹出一个子窗体来实现的。点击确定以后窗体会关闭,返回returntable(这个就是出问题的代码要获得的数组)

#22


谢谢你的关注,我再想想办法,如果问题解决了,我会马上把原因发上来供大家参考

#23


引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页 
如果值大于0 就表示你的js 方法写早了. 

#24


引用 23 楼 henjiong 的回复:
引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页
如果值大于0 就表示你的js 方法写早了.

学习咯

#25


路过,学习了

#26


引用 23 楼 henjiong 的回复:
引用楼主 jre86 的回复:
我遇到一个古怪的问题,页面中有许多input标签,但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object]
1.这个[object]是什么意思?代表空吗。

2.如果的确是没有取到值,那么页面中,什么情况下会取不到input?
这个问题困扰了我2天了..如果再解决不了,就要挨骂了~


在浏览器地址栏 写
javascript:alert(document.getElementsByTagName("input").length);
如果值为0 就表示没有 input  或者 input 不在本页
如果值大于0 就表示你的js 方法写早了.


这个方法和我在页面中使用alert(document.getElementsByTagName("input").length); 是没有区别的吧

#27


javascript:alert(document.getElementsByTagName("input").length); 
和但是element=getElementByTagName('input')却取不到值,我alert(element.length)显示[object] 
有区别吧,“alert(element.length)显示[object]”怎么会是object呢,要么是>=0或undefined

#28


肯定是代码有问题,再仔细研究下吧,

#29


这个问题还没有解决~写那汇入控件的人也说可以先忽略,但是这么诡异的问题,如果不解决我死不瞑目啊~~

#30


该回复于2010-08-06 10:53:18被版主删除

#31


刚才才有时间试验了一下HenJiong提供的方法:
在浏览器地址栏 写 
javascript:alert(document.getElementsByTagName("input").length); 
如果值为0 就表示没有 input  或者 input 不在本页 
如果值大于0 就表示你的js 方法写早了. 
===================
结果显示的依然是 [objec]

#32


最近忙得不可开交~这个问题还是纯在的,单从代码看我真的看不出问题。希望哪天头脑清醒的时候能让我找到问题的原因。。。。朋友们敬请关注

#33


var _table = document.getElementById(' <%=_Table.ClientID%>'); 
建议楼主在这句话后加上alert(_table);
看看你的_table是什么,我感觉你的这个变量在获取值时就已经错误了。
id怎么会有这个样子的呢“<%=_Table.ClientID%>”,这应该是获取_Table.ClientID变量值的方法,所以你的这正id应该是这个变量的值吧,如果是这样,你的_table变量的取值就是错误的

#34


谢谢你的关注。问题不在这里。
如果控件放在页签或其他容器上,生成页面后,ID会加上前缀的,_Table到客户端以后可能会成XXXX_Table
这个var _table = document.getElementById('<%=_Table.ClientID%>');中包括在<%%>之间的语句会在服务器端执行哦~也就是在服务器端就把var _table = document.getElementById('<%=_Table.ClientID%>');变成var _table = document.getElementById(‘XXXX_Table’);
所以这里是没问题的,我也alert()了,是可以正确取到表的。
哎,继续寻觅


#35


改了点东西,先试试吧。另外在运行JS前请保证你的页面已LOAD完毕。
function ok_onclick()
{
    var rows = new Array()

    var objlist = document.getElementById(' <%=_Table.ClientID%>').getElementsByTagName("input");
    //var objelement =_table.getElementsByTagName('input')
    //alert(elements.length);//这里是我设置的弹出点 显示为[object],用同事的界面调用就没有问题
    for(var i=0;i <elements.length;i++)
    {
        if(elements.item(i).name=='_select')
        {
            if(elements.item(i).checked==true)
            {
              var row = _table.rows[elements.item(i).parentNode.parentNode.rowIndex]
              var controls = row.getElementsByTagName('input')
              var objs = new Array()
             
              for(var j=0;j <controls.length;j++)
              {
                    if(controls.item(j).name!='_select')
                    {
                      var obj = new Object()
                      obj.name=controls.item(j).name
                      obj.value=controls.item(j).value
                      objs[j] = obj
                    }
              }
              rows[rows.length]=objs
            }
        }
    }

#36


如果还有问题就加上TRY CATCH 和DEBUGGER调试一下

#37


学习路过

#38


引用 1 楼 sohighthesky 的回复:
少了个s
getElementsByTagName(

modify

#39


document.getElementsByTagName()

#40


是的,最好调试一下。就会发现问题所在了。

#41


不是行不到,是得到了一个数组。

#42


引用 36 楼 avengercf 的回复:
如果还有问题就加上TRY CATCH 和DEBUGGER调试一下

首先谢谢你给的代码和建议,但是我试验了一下问题依然,alert数组长度显示还是[object].
用try{...
       ...
       var elements =document.getElementsByTagName('input');
     ...
     } catch(e)
     {alert("erro");}
     finally
      {
       alert("finally")
       } 也没有抛异常。

#43


给每个input加上id   用getElementById("name") 取值

#44


少了个s。