0

我对 Javascript 很陌生,如果我不使用正确的术语,我很抱歉。

我有一个可以动态增长的表格。换句话说,我有按钮可以在用户单击时添加标签和输入字段。

在表格的最后,我想要一些运行另一个 JavaScript 函数的“完成”按钮。

但是我注意到所有输入字段都具有相同的 id(因为该函数每次都使 id 相同)。

访问这些变量的正确方法是什么???

下面是动态创建字段的函数。我还没有编写使用表单的函数。

function buildDefaultFields(){
    // Define container
    var chargeItem_container = document.getElementById("chargeItem_container");
    // INPUT Start Date
    chargeItem_container.appendChild(document.createTextNode('Start Date: '));
    var startDate = document.createElement("input");
    startDate.type = 'date';
    startDate.name = 'startDate';
    startDate.id = 'startDate';
    chargeItem_container.appendChild(startDate);
    chargeItem_container.appendChild(document.createElement("br"));

}
4

2 回答 2

2

如果它不能唯一标识单个元素,请不要使用 id,而是使用类

startDate.className = 'startDate';

然后使用 getElementsByClassName 来检索它们

var elements = document.getElementsByClassName ('startDate');// 然后循环遍历元素

于 2013-07-30T16:18:03.960 回答
1

您应该动态添加元素,以便每个元素都有一个新的 id。您可以使用一个简单的计数器来附加到您的 id 名称。

例如,如果你保留一个 global var count = 0,那么你的第一个 id 可能是'startDate-' + countwhich will be startDate-0,然后在 上执行增量count,这样下次添加元素时,它将获得 id 'startDate-' + count= startDate-1

希望有帮助。

于 2013-07-30T16:16:14.640 回答