【发布时间】:2014-12-13 01:23:21
【问题描述】:
我目前正在上一门 JavaScript 课程,要求我进行以下操作:
- 用户在表单中一次输入一个名称,然后按提交
- 名称存储在数组中并输出到表中
- 在输入名称(并添加到表中)时,总数也必须根据数组进行更新,而不仅仅是通过计算表元素来更新
我目前的问题是我要添加一个名字,然后总数显示“1”--当我添加第二个名字时,总数显示“11”
这是我的 JavaScript 代码目前的样子:
function displayNamesAndTotal() {
// Your code goes in here.
var userInputName = [];
var totalNamesEntered = [];
var countTotal = 0;
var firstName;
var arrayIndex;
var output;
var outputTotal;
var form;
form = document.getElementById("userFormId");
output = document.getElementById("userEntriesId");
outputTotal = document.getElementById("testId");
//userInputName[0] = form.firstname.value;
userInputName.push(form.firstname.value)
for (arrayIndex = 0; arrayIndex < userInputName.length; arrayIndex++) {
output.innerHTML += "<tr><td>" + userInputName[arrayIndex] + "</td></tr>";
countTotal += userInputName.length;
}
outputTotal.innerHTML += countTotal;
return false;
}
我花了大约一天的时间试图找出我做错了什么——这可能是一件容易令人尴尬的事情——但我不知所措,可以使用指导
有什么建议吗?
谢谢
【问题讨论】:
-
呃,我知道我做错了什么,但我不知道如何解决它:(我需要做的是将表单数据推送到我的空数组中(填充它)。但是,我开始意识到它实际上并没有连续向数组添加更多元素,它只是将其视为始终是第一个长度。谁能解释我如何将表单数据(来自 onsubmit)推送到我的数组中,并在按下按钮时继续添加值?
标签: javascript arrays forms