javascript - 一次输出一个数组元素

标签 javascript arrays innerhtml element

目前,我将表单数据(单个文本字段)推送到一个空数组,以便每次单击“提交”时,数据都会推送到数组的末尾(因此,数组会变得更大)

我正在经历什么: 我想输出表中的每个元素,但我想每行一个元素,但现在每行输出如下

第一行:输入数据并按一次提交 -> EnteredData

第二行:输入更多数据并按下 -> EnteredData 输入数据1

如果我输入另一个元素,它就会 输入的数据 输入数据1 输入数据2 等等等等......

这是我循环的代码块: userInputName.push(userString);

for (arrayIndex = 0; arrayIndex < userInputName.length; arrayIndex++) {    
    output.innerHTML += "<tr><td>" + userInputName[arrayIndex] + "</td></tr>";

}

我觉得我在 for 循环中缺少某种条件逻辑,但此刻( sleep 太少)我无法理性地将其拼凑在一起:|

对我缺少的东西有什么建议吗?

这就是我的完整 JavaScript 代码块的样子 - 我可以将其引用到我的其他线程询问相关问题:

//Declare global variable
var userInputName       = [];
function displayTableAndTotals() {
// Your code goes in here.
//var totalStrings      = [];
var userString;
var arrayIndex;
var output;
var outputTotal;
var form;

form                = document.getElementById("userFormId");
output              = document.getElementById("userEntriesId");
outputTotal         = document.getElementById("testId");
userString          = form.string.value;

userInputName.push(userString);

for (arrayIndex = 0; arrayIndex < userInputName.length; arrayIndex++) {    
    output.innerHTML += "<tr><td>" + userInputName[arrayIndex] + "</td></tr>";

}

form.string.select();
return false;   
}

最佳答案

您可以只添加推送的元素

var table = document.querySelector('#myTable');

document.querySelector('[type="submit"]').addEventListener('click', function(e) {
    table.innerHTML += "<tr><td>" + userInputName.reverse()[0] + "</td></tr>";
}, false);

关于javascript - 一次输出一个数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27456597/

相关文章:

c++ - 动态模板数组

Python:为什么将 Dask 切片复制到 Numpy 数组会导致行数不匹配

javascript - 如何在点击时切换元素的innerHTML

jquery - 使用jquery获取元素内的html

Angular 2 - innerHTML 样式

javascript - .点击事件的每个令人困惑的行为

Javascript 最佳实践——在 DOM 中隐藏元素或生成 DOM 元素

javascript - 在 ASP.NET MVC 中管理 View 页面脚本

javascript - 单击事件不会在 highcharts 工具提示中触发

php - 从嵌套数组输出项目