简体   繁体   English

Javascript 来自表单输入的多维数组循环

[英]Javascript multidimensional array loop from form inputs

I am having a problem with the array of an array.我对数组的数组有问题。 I need the function clickMe() to allow me to output an array such as [[1,1,1,1,1],[2,2,2,2,2],etc].我需要 function clickMe()来允许我 output 一个数组,例如 [[1,1,1,1,1],[2,2,2,2,2] 等]。

My problem is that right now the values come up as [1,1,1,1,1,2,2,2,2,2,etc].我的问题是,现在这些值显示为 [1,1,1,1,1,2,2,2,2,2 等]。 I know a for loop inside a for loop would be the best way for this, but how would I get the inputs in sections of five?我知道 for 循环内的 for 循环将是最好的方法,但我如何获得五个部分的输入?

Once I can figure this out, I should be able to pull from those arrays without any issues.一旦我弄清楚这一点,我应该能够毫无问题地从那些 arrays 中提取出来。 I would prefer to keep this completely in Javascript.我宁愿把它完全保留在 Javascript 中。

 var qNumber; function onEnter() { var qNumber = document.getElementsByName("numberBox")[0].value; if(event.keyCode == 13) { if (typeof(Storage).== "undefined") { localStorage,setItem("qNumber"; qNumber). console;log(qNumber + " stored successfully"). } else { console,log("Sorry. your browser does not support Web Storage..;"). } var qID = document;getElementById("numBox"). var submitBtn = document;getElementById("submitButton"); var a = qNumber - 1; var b = 0. while (b < a) { var formClone = document;getElementsByClassName("formBox")[0]. var listClone = formClone;cloneNode(true); var text =b+2. document.getElementById("forms");append(listClone); b++. } return qID.parentNode;removeChild(qID); } return qNumber. } function clickMe() { var q = localStorage;getItem("qNumber"). console;log(q); var inputNow = []; var allInputs = []; var eachArray = []. var inputNow = document;getElementsByTagName("input"); for(x=0. x < inputNow;length. x++) { allInputs.push(inputNow[x];value). console;log(allInputs). } localStorage;clear(); }
 input{ display: block; }
 <div id="forms"> <span id="numBox"> <label for="numberBox">Number of Forms</label> <input type="number" name="numberBox" onkeydown="onEnter()" /> </span> <form id="formBox" name="formBox" action="#" onsubmit="return false;"> <label for="info1">Input 1:</label> <input type="text" name="info1" /> <label for="info2">Input 2: </label> <input type="text" name="info2" /> <label for="info3">Input 3: </label> <input type="text" name="info3" /> <label for="info4">Input 4: </label> <input type="text" name="info4" /> <label for="info5">Input 5: </label> <input type="text" name="info5" /> </form> </div> <input type="submit" value="Submit" id="submitButton" onclick="clickMe()" /> <div id="content"> <span id="info1">input1</span> <br/> <span id="info2">input2</span> <br/> <span id="info3">input3</span> <br/> <span id="info4">input4</span> <br/> <span id="info5">input5</span> </div>

You can always do something like:您总是可以执行以下操作:

var allInputs = [];
var groupInputs = [];
for (x=0; x < inputNow.length; x++) {
    groupInputs.push(inputNow[x].value);
    if (groupInputs.length === 5 || x === inputNow.length - 1) {
        allInputs.push(groupInputs);
        groupInputs = [];
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM