首页 > 解决方案 > 我如何使用 textbox1 进行输入 // 使用 for 循环数到 50 // 并将其输出到 textbox2

问题描述

我有一个文本框 id="t1" 接受一个输入可以说输入是:20

我使用另一个文本框 id="t2" 作为输出,它应该看起来像这样:21 22 23 24 25 ... 49 50 1 2 3 4 5 ...“数字”的最大长度 = 50,之后有一个休息每个数字我都做了以下代码::

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script type="text/javascript">
  function add()
  {
    var a = document.getElementById("t1").value;
    for(i = a; i<51; i++) {
      a+=i +"<br>";
  }
  document.getElementsByName("t4")[0].value= a;
}
</script>
</head>

<body>
  <input class="t1" type="number" id="t1">
  <button onclick="add()">Add</button>
  <br><br>
  <input style="height: 500px;" class="t2" type="textbox" name="t4"></input>
</body>
</html>

哪个 rly 不像我想要的那样工作,我在这里做错了什么?

标签: javascriptinputtextboxoutput

解决方案


多行文本框没有<input type="textbox">, 使用<textarea>标签。
如果需要 50 个数字,则必须迭代 50 次。
当数字达到 50 时,您需要一些逻辑来重新开始。

运行以下代码段:

function add() {
  var v = +document.getElementById("t1").value;
  var a = [v * (v < 50) + 1];
  for (var i = 0; i < 49; i++) a.push(a[i] + 1 - 50 * (a[i] > 49));
  document.getElementsByName("t4")[0].value = a.join('\n');
}
<input class="t1" type="number" id="t1" value="50">
<button onclick="add()">Add</button>
<br><br>
<textarea style="height: 200px;" class="t2" name="t4"></textarea>


推荐阅读