将论坛数据放入单独的数组中

时间:2018-07-03 02:06:11

标签: javascript

tm_min

我正在动态生成两种不同类型的论坛元素,即负载的位置和负载的大小。获得输入后,我想使用JavaScript将每组数据放入各自的数组中,最终得到如下结果:

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);

有没有办法基于ID /名称的部分匹配来循环遍历表单元素?如果没有,我可以设置一个更简单的方法吗?

2 个答案:

答案 0 :(得分:0)

好吧,我想我可能已经知道了。为每个类别和getElementsByClass添加一个类。我相信它将按照创建元素的顺序返回一个数组。

答案 1 :(得分:0)

您可以使用children属性来获取表单内的任何元素。至于将数据输入正确的数组,则可以使用对象。

我假设表单元素具有一个ID或名称,它们表示接收的数据类型,因此可以使用对象将ID分配为属性,并将空数组作为其值:

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);
  }
}

要访问数组,您可以简单地执行以下操作:

var locationData=loadDataArrays["location"];
相关问题