如何将来自文本框的输入存储在 Javascript 中的数组中

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/27396211/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 07:25:59  来源:igfitidea点击:

How to store inputs from a textbox in array in Javascript

javascripthtml

提问by Nicole

<!DOCTYPE html>

<html>

<head>


<form id="form1">


Beets:<input id="number1" type="integer" size = "5">

Artichokes: <input id="number2" type="integer" size = "5">

Carrots: <input id="number3" type="integer" size = "5">

</form>

<button id = "submitButton" onclick="RunApp()" > Submit</button>
<button id = "displayButton" onclick="getAllValues()" > Display</button>

<script>


var str = "";
 function getAllValues() {
     var input1, inputs;
  input1 = document.getElementById("form1");

  inputs = input1.elements["number1"].value;

     for (i = 0; i < inputs.length; i++) {
         str += inputs[i].value + "  ";
     }
     alert(str);
 }


function RunApp()

{

var beets, artichokes, carrots, input1, input2, input3;


// getting inputs into variables


input1 = document.getElementById("form1");

beets = input1.elements["number1"].value;


input2 = document.getElementById("form1");

artichokes = input1.elements["number2"].value;


input3 = document.getElementById("form1");

carrots = input1.elements["number3"].value;




if (beets == "" || carrots == "" || artichokes == "" || isNaN(beets) || isNaN(carrots) || isNaN(artichokes))

{

    document.getElementById("demo").innerHTML+= "not valid" + "<br>";

    document.getElementById("demo").innerHTML+= "--------------------------" + "<br>";

}

else

{


document.getElementById("demo").innerHTML+= "Beets = " + beets + "<br>";    document.getElementById("demo").innerHTML+= "Artichokes = " + artichokes + "<br>";
document.getElementById("demo").innerHTML+= "Carrots = " + carrots + "<br>";


}
}




</script>


<p id="demo"></p>


</head>

<body>


</body>
</html>

First, this is my first time learning JS.

首先,这是我第一次学习JS。

So, I have a text-box, a submit button, and a display button. When I enter a number in the text-box, and click submit, it shows the number. I enter my second number and clicking the submit button shows me the second number. Then I click on the display button, it will shows the number 1 and number 2 in order. If I have more inputs in the text-box, the display button will show the entire list of all the inputs from the array.

所以,我有一个文本框、一个提交按钮和一个显示按钮。当我在文本框中输入一个数字并单击提交时,它会显示该数字。我输入我的第二个数字,然后单击提交按钮显示第二个数字。然后我点击显示按钮,它会依次显示数字 1 和数字 2。如果文本框中有更多输入,显示按钮将显示数组中所有输入的完整列表。

Thank you!

谢谢!

回答by Madara's Ghost

Well, since it's your first time and you're learning I won't just give you the answer, but I'll point you in the right direction.

好吧,因为这是您第一次学习并且正在学习,所以我不仅会给您答案,而且会为您指明正确的方向。

You want to attach a click eventon the submit button to add the valueto an array, and then print the array on click of the display button.

您想在提交按钮上附加一个单击事件将值添加到数组中,然后在单击显示按钮时打印该数组。

回答by caslaner

i think first you must google for this. I write something and you can improve this. I only want to give an example.

我想首先你必须谷歌这个。我写了一些东西,你可以改进它。我只想举个例子。

HTML:

HTML:

<input type="text" id="inputbox">
<br/>
<button type="button" id="submit">Submit</button>
<button type="button" id="display">Display</button>
<br/>
<div id="screen"></div>

JS:

JS:

var inputArray = [];
var input = document.getElementById('inputbox');
var screen = document.getElementById('screen');

document.getElementById('submit').onclick = function () {
    inputArray.push(input.value);
    screen.innerHTML = input.value;
};
document.getElementById('display').onclick = function () {
    screen.innerHTML = inputArray
};

http://jsfiddle.net/y9wL27y0/

http://jsfiddle.net/y9wL27y0/