代码如下,我添加一行以后,页面上能够显示添加出来的输入框,但是用getElementsByName就是取不到输入框中的值,
浏览器是IE8。请大家指点。//表格添加行的方法
function addtr(gcInvName,cInvStd,gcInvM_Unit)
{
var newTR = $('pltab').insertRow($('pltab').rows.length);
newTR.id = "pltr"+gpcInvAddCode;
var td1 = newTR.insertCell(0);
td1.innerHTML = gcInvName;
var td2 = newTR.insertCell(1);
td2.innerHTML = cInvStd;
var td3 = newTR.insertCell(2);
td3.innerHTML = gcInvM_Unit;
var td4 = newTR.insertCell(3);
var inputnum = document.createElement("input");
inputnum.type="text";
inputnum.name="cpnumlist";
inputnum.size="7";
inputnum.value="0";
inputnum.disabled=false;
td4.appendChild(inputnum);
}
function mysubmit()
{
        if(confirm("确认添加完毕?"))
{
var cpnumlist = document.getElementsByName('cpnumlist');
                //这个地方cpnumlist 的长度始终为1,后面就没法继续了
                //之后的代码是把所有名字是cpnumlist的数字连接成一个字符串提交
        }
}

解决方案 »

  1.   

    $('pltab'),这里的$('')就是document.getElementById('')
      

  2.   

    $('pltab') 是什么选择方式  标签吗?
    ID 为 $('#pltab')
    class 为$('.pltab')
    name 为 $('input:[name='pltab'])
      

  3.   

    $('pltab')就是下面这个函数,相当于document.getElementById('pltab')
    function $(id){
        return document.getElementById(id);
    }
      

  4.   

    晕了,完全用innerHTML就能够用getElementsByName 读取值了。。奇怪了
    td4.innerHTML='<input type="text" name="cpnumlist"/>';js动态添加的反而不能读取....why????