<script language=javascript>
function show(){
var n=document.all.tags("input").length;
var str="";
for(i=0;i<n;i++) str+=document.all.tags("input")[i].name+";";
alert(str);
}</script><input name=input1>
<input name=input22>
<input type=button name=input3 value="show" onclick=show()>

解决方案 »

  1.   

    <TABLE id=tableA>
      <TR>
        <TD><INPUT id=text1 name=text1></TD>
        <TD><INPUT id=text2 name=text2></TD>
        <TD><INPUT id=text3 name=text3></TD></TR></TABLE></P>
    我只想取上面的那三个input对象,不要页面上其他的input,怎么办?
      

  2.   

    <script language=javascript>
    function show(){
    var n=document.form1.tags("input").length;
    var str="";
    for(i=0;i<n;i++) str+=document.form1.tags("input")[i].name+";";
    alert(str);
    }</script><input name=input1>
    <input name=input2>
    <input type=button name=input3 value="show" onclick=show()><form name=form1>
    <TABLE id=tableA>
      <TR>
        <TD><INPUT id=text1 name=text1></TD>
        <TD><INPUT id=text2 name=text2></TD>
        <TD><INPUT id=text3 name=text3></TD></TR></TABLE></P>
    </form>
      

  3.   


    following weidegong(weidegong) ,get the object's name:
    var str = name;if(str == "text1" || str == "text2" || str == "text3"){
        ........
    }
      

  4.   

    to seabell(seabell):这样做会把input1、input2和input3也一块取到,我不想要除了包含在tableA里面的所有input。to chinaillboy(浪漫不起来):我并不知道tableA中的input的名称,text1 2 3只是举个例子。
      

  5.   

    想到一个很笨的办法,谁有更好的啊?function show(){
      var n=document.all.tags("input").length;
      var str="";
      for(i=0;i<n;i++){
        var tmp=document.all.tags("input")[i];
        if(tmp.parentElement.parentElement.parentElement.parentElement.id=="tableA")
        str+=document.all.tags("input")[i].name+";";
      }
        alert(str);
    }
      

  6.   

    fokker(独孤龙),你可能没有试试我改进的方法,在需要的小范围(如table)外圈了<form name=form1>的。这种方式最直接了,在其他范围也同样适用。
    你的方法也可以,不过要判断parentElement是否存在
    <script language=javascript>
    function show(){
      var n=document.all.tags("input").length;
      var str="";
      for(i=0;i<n;i++){
        var tmp=document.all.tags("input")[i];if(tmp.parentElement!=null)//不可少
    if(tmp.parentElement.parentElement!=null)//不可少
    if(tmp.parentElement.parentElement.parentElement!=null)//不可少
    if(tmp.parentElement.parentElement.parentElement.parentElement!=null)//不可少
    {
       if(tmp.parentElement.parentElement.parentElement.parentElement.id=="tableA")
       str+=document.all.tags("input")[i].name+";";}  }
        alert(str);
    }</script><input name=input1>
    <input name=input2>
    <input type=button name=input3 value="show" onclick=show()><form name=form1>
    <TABLE id=tableA>
      <TR>
        <TD><INPUT id=text1 name=text1></TD>
        <TD><INPUT id=text2 name=text2></TD>
        <TD><INPUT id=text3 name=text3></TD></TR></TABLE></P>
    </form>
      

  7.   

    to seabell(seabell):我没有仔细看你的代码,你说的对。
    但,我的html页面不是我自己写的,而是由一个lotus数据库中的一个表单生成的,它只有一个form,所有的元素都在这个form里面。还有什么办法呢?
      

  8.   

    我重新写了一个递归函数来判断一个input是不是指定表格中的元素,不会出错了,速度好像也快一些。可惜不能给自己加分,遗憾。function fDo(oItem,sId){
    var flag = false;
    if(oItem.parentElement){
    if(oItem.parentElement.tagName=="TABLE")
    if(oItem.parentElement.id==sId){
    flag=true;
    return flag;
    }
    else{
    flag=false
    return flag;
    }
    else 
    return fDo(oItem.parentElement,sId);
    }
    return flag;
    }