我在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和普通的控制台日志,但似乎我做错了。
答案 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++;
}
答案 1 :(得分:0)
因为未在DOM中设置值
你改变了这个
while (i < generated ) {
cu[i] = document.getElementById("id"+i);
console.log(cu[i].getAttribute("value"));
i++;
}