2

我是一名学习 javascript 的学生,现在只有第 3 周,所以我不熟悉任何高级主题或代码。这是一个分级作业,所以我不是在寻找答案,但任何帮助或建议来完成这个都会很棒。我已经被困了几个小时,我什至不知道该往哪个方向前进。

我需要做的是使用 for 循环来获取用户可以输入到 html 页面的最多 3 个不同 id 标记的值。它必须在 for 循环中完成,并使用计数器顺序更改 id 的名称。

我能够做到这一点,但是每次循环运行时,它都会抓取数据,当然也将变量设置为循环的最新迭代。

有没有办法捕获每个循环中的返回值并将其存储起来以供循环运行后使用?我应该能够生成 3 个单独的值,然后将它们一起显示。

编辑:这是 HTML:

<!DOCTYPE html>

<body>
  <h1>Assignment 2</h1>
  <p>
    Enter First Name:
    <input id="firstname" type="text">
    <span id="firstname_error">*</span>
  </p>
  <p>
    Enter Last Name:
    <input id="lastname" type="text">
    <span id="lastname_error">*</span>
  </p>
  <p>
    How Many Pets do you have? (0-3):
    <input id="numpets" maxlength="1" size="1" type="text">
    <span id="numpets_error">*</span>
  </p>
  <p>
    List your Pet's names:
    <input id="pet1" type="text">
    <input id="pet2" type="text">
    <input id="pet3" type="text">
  </p>
  <p>
     <input onclick="processInfo()" type="button" value="Submit Information">
  </p>
  <p id="message">*</p>
</body>
</html>
4

1 回答 1

4

您可以使用单独的变量来累积存储每次迭代的值。确保在循环之前定义此变量,并在每次迭代时将数据添加到变量中,而不是覆盖它

例如有一个string变量:

var str = '';
for (i=0; i < 3; i++) {
    str += i+' '; // Note the usage of the += operator to append the value
}
 //
console.log(str);

或使用array变量:

var arr = [];
for (i=0; i < 3; i++) {
    for (i=0; i < 3; i++) {
    arr.push(i);
}
 //
console.log(arr.toString());

请注意,出于示例的目的,我们只是存储循环计数器的值,i.

于 2013-09-14T23:29:24.337 回答