读取动态生成的文本框

时间:2014-09-09 13:11:45

标签: javascript jquery

我在JavaScript中动态生成文本框但是当我尝试控制日志时(在将它们传递给ajax帖子之前)我只得到undefined。我尝试在网上搜索如何做到这一点,但似乎没有任何东西可以成为"击中"。

这是必不可少的部分。

//textbox naming convention is "id"+intlaskubox and I can read them like 
textbox = document.getElementById("id2");

//amount of textboxes generated
var generated = intlaskubox;
console.log(generated);

//this is ok (I can get the value of the box)
textbox = document.getElementById("id" + generated);
console.log(textbox.value);


// (here I get undefined times the amount of boxes generated)
var i = 0;
while (i < generated) {
    cu[i] = document.getElementById("id" + i);
    console.log(cu[i].value);

    i++;
}    

我尝试过Firebug和普通的控制台日志,但似乎我做错了。

2 个答案:

答案 0 :(得分:1)

您是否忘记初始化数组c?试试这个:

var i = 1, c = [],generated=5,inputRes=document.getElementById("res");
while (i <= generated) {
    c[i] = document.getElementById("id" + i);
    inputRes.value+=c[i].value;    
    i++;
}

DEMO

答案 1 :(得分:0)

因为未在DOM中设置值

你改变了这个

while (i < generated ) {
          cu[i] = document.getElementById("id"+i);
          console.log(cu[i].getAttribute("value"));

            i++;
        }