2014-12-13 116 views
0

當前我正在將表單數據(單個文本字段)推向一個空數組,以便每次單擊「提交」時都會將數據推送到數組的末尾(因此,陣列變大)一次輸出一個數組元素

我所經歷: 我想在一個表輸出的每個元素,但我想做到這一點每行一個元素,但現在它每行輸出這樣

第一行:輸入數據並提交一次 - >輸入數據

第二行:輸入更多數據並按下submit - > enteredDat一個 enteredData1

如果我進入另一個元素它 enteredData enteredData1 enteredData2 而且等等等等....

下面是我已經循環的代碼塊: userInputName.push(userString );

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

} 

我覺得我缺少某種內部條件邏輯循環,但在這一刻(睡眠太少),我不能一起理性地拼湊它:|

關於我失蹤的任何建議?

這就是我的全部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; 
} 
+0

發表了一些代碼。 – dfsq 2014-12-13 07:39:39

+0

@dfsq,我更新了我原來的帖子,包括完整的JavaScript塊 – kmancusi 2014-12-13 16:56:09

回答

1

你可以只加推元素

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

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

好悲傷,當然我解決了自己的問題後,我花了永遠痛苦,然後諮詢。

基本上,我需要做的是:

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

output.innerHTML += tableData; 
outputTotal.innerHTML = "<h4>Total Number of Strings: " + totalCount + "</h4>"; 

form.string.select(); 
return false; 

這樣的資料表變量將包含一個新的迭代,而無需每次都重新提交不斷整個事情。這樣我可以正確地在循環外輸出tableData。

我很欣賞我收到的反饋。

謝謝!