我正在用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和普通的控制台日志,但似乎我做错了。

最佳答案

您忘了初始化数组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

关于javascript - 读取动态生成的文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25745566/

10-13 02:42