Javascript(没有库)分割文本,用不同的文本填充文本框

Javascript (no libraries) split text to populate textboxes with different text

本文关键字:文本 填充 分割文本 Javascript      更新时间:2023-09-26

与将url/文本按空格分隔为2个方框相关

我要做的是分割文本,它已经在文本框中。我想把它化成一个变量。然后,因为有两个盒子,我想要第一个装满1 2 3 4 5。第二个盒子装满了6 7 8 9 10。或者第一个盒子里有1 3 5 7 9第二个盒子里有2 4 6 8 10。无论哪种方法最好/最简单。

这是我到目前为止所尝试的。

代码:

<HTML>
  <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
      var split_text;
      var urls_1;
      var numbercount=0;
      var totals;
      var half_totals;
      function addto_boxes(form) {
        split_text = document.getElementById("text_to_split").value;
        urls_1 = split_text.split(" ", 100000);
        totals = urls_1.lenght - 1;
        half_totals = (totals / 2 );
        while (numbercount <= half_totals ){
          if (numbercount >= half_totals ){
            numbercount = 0;
            break;
          document.getElementById("input_box1").value = document.getElementById("input_box1").value + urls_1[numbercount] + " ";
          document.getElementById("input_box2").value = document.getElementById("input_box2").value + urls_1[numbercount + half_totals] + " ";
          numbercount++
        }
      }
    </SCRIPT>
  </HEAD>
  <BODY>
    <input id="Split" type="button" value="Add to boxes" onclick="addto_boxes(this.form);"/>
    <BR>
    <textarea NAME="texttosplit" id="text_to_split" VALUE="" rows="4" cols="75">1 2 3 4 5 6 7 8 9 10 </textarea>
    <BR>
    <FORM NAME="myform" ACTION="" METHOD="GET">Put 1st urls in this box (Separated by a space):
      <textarea NAME="inputbox" id="input_box1" VALUE=""rows="4" cols="75"></textarea>
      <BR>
      Put 2nd urls in this box <BR>
      <textarea NAME="inputbox2" id="input_box2" VALUE=""rows="4" cols="75"></textarea>
      <BR>
      <INPUT TYPE="reset">
    </FORM>
  </BODY>
</HTML>

问题似乎是拼写错误。修改行:

totals = urls_1.lenght - 1;

:

totals = urls_1.length - 1;

此外,<script>标签的language属性已弃用,而应使用type="text/javascript"。如果使用HTML5文档类型,则假定type="text/javascript",并且不需要包含。

要交替使用两者,您可以尝试这样的算法:

    for (var i = 0; i < n; i++) {
        if (i % 2 == 0) a.push(arr[i]);
        else b.push(arr[i]);
    }

假设arr是包含所有数字的数组,narr的长度。要将数组转换为字符串,请使用a.join(' ')并相应地设置HTML内容。