alert(document.all.tName2.value);

x=2;
try{
alert(document.all("tName"+x).value);
}catch(e){
alert("不存在");
}

解决方案 »

  1.   

    在<form name="form1"><form>中增加一个<input type="hidden" name="index">,来保存
    <INPUT TYPE="text" NAME="tName'+i+'" onchange="setIndex(' + i + ')">中的变化.增加一个
    <script>
    function setIndex( str )
    {
    document.form1.index.value = str;
    }
    </script>
    来响应name的变化,并设置form1.index的值然后就可以用下面修改过的函数取得想要的值
    <script>
    function getvalue(){alert(form1["tName"+document.form1.index.value].value);
    }
    </script>
      

  2.   

        个人觉得,还不如不在后面加那个“i”,不加“i”的话,同名控件自动构成数组,这样就不用考虑“tName + i”是否存在,直接引用数组下标就行了,无论你如何添加或删除,数组的下标都是不会出现空缺的。
    只需要判断“tName.length”是否大于1,大于1就构成了数组,用数组下标“tName[i]”来引用就行了,不大于1就不是数组直接引用“tName”就行了。