var myArray = [],
var inputText = document.getElementById('textbox').value;
var showArray = document.getElementById('display').innerHTML;
stackAdd = function() {
if (inputText != "") {
var i = myArray.length;
myArray[i] = inputText;
showArray = myArray[i];
inputText = "";
}
}
我想将输入值添加到数组中。对价值没有限制。请更正代码......
答案 0 :(得分:0)
首先,您应该更改此行中的条件(计算正确数组的长度):
for (i = 0; i < arrayElements.length; i++) {
最初arrayElements.length
将为0,因此您的循环不会运行。
此外,您应该更改DOM中选择元素的方式。
为了能够获得元素数组,您应该使用document.getElementsByClassName()
函数
这样你应该给你的元素不是id,而是class,例如:
<input class="textbox" type="text" value="" />
然后你应该依靠元素的数量来使循环工作。
所以,在循环之前计算它们:
var totalElements = document.getElementsByClassName('textbox').length
然后在循环条件中使用该长度:
for (i = 0; i < totalElements.length; i++) {
答案 1 :(得分:0)
我为你创建了这个例子,它非常简单,当你只有1个元素要添加到数组时,不需要循环。
https://jsfiddle.net/6xpovrvh/
然后它遵循HTML和Javascript:
<强> HTML 强>
<button id="test" onclick="Add();">
Test
</button>
<div id="TestDiv">
Bla
</div>
<强>的Javascript 强>
var arrayElements = [];
function Add() {
var count = arrayElements.length;
arrayElements[count] = "Test" + count;
document.getElementById("TestDiv").innerHTML += arrayElements[count];
};
答案 2 :(得分:0)
var myArray = [];
function stackAdd() {
if (document.getElementById("textbox").value) {
var i = myArray.length;
document.getElementById("textbox").value += myArray[i];
document.getElementById("display").innerHTML += myArray[i] + ',' + ' ';
document.getElementById("textbox").value = "";
}
}
我得到了我的问题的答案。它的工作....