我正在尝试让NumberBox的onEnter()函数能够动态更改formBox。
如果有人输入3作为输入值,我需要它显示3个表单和确切的输入框。我知道如何从输入框中获取值,并在下面显示表单的数量。
我的问题是我不知道如何让一个提交按钮将所有的值存储到一个数组中,比如[1,1,1,1,1,2,2,2,2,2,等等]。
一旦我弄清楚了这一点,我应该能够自己输出这些值。最终目标是使用这些值在另一个页面上多次显示列表。我更喜欢将其完全保留在Javascript中。我相信这是可以做到的,但我遇到了困难,需要一些帮助。
function clickMe() {
var input1 = document.forms["formBox"]["info1"].value;
var input2 = document.forms["formBox"]["info2"].value;
var input3 = document.forms["formBox"]["info3"].value;
var input4 = document.forms["formBox"]["info4"].value;
var input5 = document.forms["formBox"]["info5"].value;
var inputArr = [input1,input2,input3,input4,input5];
document.getElementById("info1").innerHTML = inputArr[0];
document.getElementById("info2").innerHTML = inputArr[1];
document.getElementById("info3").innerHTML = inputArr[2];
document.getElementById("info4").innerHTML = inputArr[3];
document.getElementById("info5").innerHTML = inputArr[4];
console.log(inputArr);
}
function onEnter() {
var qNumber = document.getElementsByName("numberBox")[0].value;
if(event.keyCode == 13) {
var qID = document.getElementById("numBox");
var submitBtn = document.getElementById("submitButton");
var a = qNumber - 1;
var b = 0;
while (b < a) {
var formClone = document.getElementById("formBox");
var listClone = formClone.cloneNode(true);
var text =b+2;
listClone.id = "formBox" + text;
console.log(listClone.id);
document.getElementById("forms").append(listClone);
b++;
console.log(b);
}
return qID.parentNode.removeChild(qID);
}
return qNumber;
}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>
发布于 2019-11-10 07:17:02
您可以查询表单中的所有输入元素,将它们的值映射到另一个数组。
[...document.forms["formBox"].getElementsByTagName("input")].map(input => input.value)https://stackoverflow.com/questions/58784199
复制相似问题