Javascript 将论坛数据放入单独的数组中
我正在动态生成两种不同类型的论坛元素,负载的位置和负载的大小。在获得输入后,我想使用JavaScript将每组数据放入各自的数组中,最终得到如下结果:Javascript 将论坛数据放入单独的数组中,javascript,Javascript,我正在动态生成两种不同类型的论坛元素,负载的位置和负载的大小。在获得输入后,我想使用JavaScript将每组数据放入各自的数组中,最终得到如下结果: container.appendChild(document.createTextNode("Load Location " + (i) + " (m): ")); var input = document.createElement("input"); input.type = "text"; input.name = "loadLocatio
container.appendChild(document.createTextNode("Load Location " + (i) + " (m): "));
var input = document.createElement("input");
input.type = "text";
input.name = "loadLocation" + i;
input.id = "loadLocation" + i;
container.appendChild(input);
container.appendChild(document.createTextNode(" Load Magnitude " + (i) + " (N): "));
var input = document.createElement("input");
input.type = "text";
input.name = "loadMagnitude" + i;
input.id = "loadMagnitude" + i;
container.appendChild(input);
var loadDataArrays={
"location":[],
"magnitude":[]
};
function assignData(formID){
var form=document.getElementById(formID);
var formChildren=form.children;
//Loop through child elements of form element (inputs)
for(var i in formChildren){
var child=formChildren[i];
//Using the form id, you can push the data of its child elements to the correct array
loadDataArrays[formID].push(child.id);
}
}
是否有任何方法可以基于id/name的部分匹配来循环整个表单元素?如果没有的话,有没有更简单的方法来设置它?好的,我想我可能已经找到了。为每个类别和getElementsByClass添加一个类。我相信这将按照创建元素的顺序返回数组。您可以使用children属性获取表单中的任何元素。至于将数据输入正确的数组,可以使用对象 我假设表单元素有一个id或名称,表示它接收的数据类型,因此使用对象可以将id指定为属性,将空数组指定为值:
loadLocation [] = [loadLocation1, loadLocation2, ...]
loadMagnitude[] = [loadMagnitude1, loadMagnitude2, ...]
要访问阵列,只需执行以下操作:
container.appendChild(document.createTextNode("Load Location " + (i) + " (m): "));
var input = document.createElement("input");
input.type = "text";
input.name = "loadLocation" + i;
input.id = "loadLocation" + i;
container.appendChild(input);
container.appendChild(document.createTextNode(" Load Magnitude " + (i) + " (N): "));
var input = document.createElement("input");
input.type = "text";
input.name = "loadMagnitude" + i;
input.id = "loadMagnitude" + i;
container.appendChild(input);
var loadDataArrays={
"location":[],
"magnitude":[]
};
function assignData(formID){
var form=document.getElementById(formID);
var formChildren=form.children;
//Loop through child elements of form element (inputs)
for(var i in formChildren){
var child=formChildren[i];
//Using the form id, you can push the data of its child elements to the correct array
loadDataArrays[formID].push(child.id);
}
}