【发布时间】:2016-10-27 15:07:34
【问题描述】:
我是 JavaScript 新手,所以请原谅我在这种情况下的无知。 我正在尝试创建一个脚本,使用户可以在输入字段中输入数字。这个数字(1)需要在用户按下键盘上的“Enter”后以某种方式存储,并且输入字段应该再次变为空,以便用户输入一个新的数字(2)。在“Enter”按钮上第二次点击后,脚本需要自动计算 number(1) + number(2) 加在一起的数量。对于未定义数量的数字,这需要成为可能..
到目前为止,我认为将这些数字添加到数组中可能很有用,因为我不知道如何仅使用一个函数来解决此任务。
我设法再次使该字段为空,并存储并打印了数字。
我的问题是,我如何计算结果?因为现在它只是打印由一大行数字组成的数组。我似乎无法找出如何计算这一切。也许你们知道一种方法吗?
我还有一个问题,不使用数组这是否可能?
<!DOCTYPE html>
<html>
<body>
<p>Give me a number:</p>
<p id="inputNumber"><input type="number" id="new" onchange="submit()"></p>
<p>Your input:</p>
<p id="input"></p>
<p>Results of calculations:</p>
<p id="results"></p>
<script>
// Create an Array to hold the numbers
var numbers = [];
// Create a Function to get the numbers and store them in the Array 'numbers'
function submit() {
// Get the user input
var newNumber = document.getElementById("new");
// Adding it to the array number
numbers.push(newNumber.value);
// Make input field empty for re-use
document.getElementById("inputNumber").innerHTML = "<input type=\"number\" id=\"new\" onchange=\"submit()\">";
// Create a for loop that loops through the Array 'numbers'
var showInput = "";
for (var i = 0; i < numbers.length; i++) {
showInput += numbers[i] + "<br>";
}
// Showing the input back to user
document.getElementById("input").innerHTML = showInput;
// Create a for loop that loops through the Array 'numbers'
var showResults = "";
for (var i = 0; i < numbers.length; i++) {
showResults += numbers[i];
}
// Showing the results of the calculation
document.getElementById("results").innerHTML = showResults;
}
</script>
</body>
</html>
【问题讨论】:
标签: javascript function input