我是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"));
}
答案 0 :(得分:2)
如果不能唯一地标识单个元素,请使用id,而不是使用类
startDate.className = 'startDate';
然后使用getElementsByClassName来检索它们
var elements = document.getElementsByClassName('startDate'); //然后循环遍历元素
答案 1 :(得分:1)
您应该动态添加元素,以便每个元素都获得一个新ID。您可以使用简单的计数器附加到您的ID名称。
例如,如果您保留全局var count = 0
,那么您的第一个ID可能是'startDate-' + count
startDate-0
,然后在count
上执行增量,以便下次添加元素时,它将获得ID 'startDate-' + count
= startDate-1
。
希望有所帮助。