【问题标题】:Cannot set multiline text in textarea无法在 textarea 中设置多行文本
【发布时间】:2020-10-08 20:31:52
【问题描述】:

我有一个数组,它的每个元素都在一个文本行中:

a = ['line1', 'line2', 'line3'];

我想将文本行设置成一个文本区域,显示如下:

line1
line2
line3

我用以下代码设置文本:

myTxtArea.value = a.join('\n');

它显示如下:

line1\nline2\nline3

怎么做才能让\n的断线不被显示?

文本区域 HTML:
<textarea autofocus id=laidTxt name=laidTxt class="laidTxt"
placeholder="paste PDF text here">KJHKH DSKJH ...
</textarea>

我明白了

【问题讨论】:

  • 这能回答你的问题吗? New line in text area
  • 试试"\n" 而不是'\n'
  • 我进行了一些测试,但无法获得与您相同的结果。你用的是什么浏览器?
  • 最新的 Chrome,也用 next ff 测试过。
  • 但是您的评论很有趣,因为它表明我的 HTML 中可能存在某些内容。我会发布它。

标签: javascript html textarea


【解决方案1】:

试试这个代码

for (let index = 0; index < a.length; index++) {
 myTxtArea.value += a[index]+'\n';

 }

它和我一起工作

【讨论】:

  • 同样的结果。甚至将 '\n' 替换为 '\x0A'(它仍然在 textarea 中显示 \n。
【解决方案2】:

我不知道为什么它不适合你,但正如它在下面的示例中显示的那样,它可以工作

a = ['line1', 'line2', 'line3'];

document.getElementById("laidTxt").value = a.join('\n');
&lt;textarea autofocus id="laidTxt"&gt;&lt;/textarea&gt;

【讨论】:

    【解决方案3】:

    为了消除任何疑问,我最初在问题中发布的代码是可以的并且工作正常。

    出于好奇:在将连接线设置到文本区域之前,我对连接线应用了JSON.stringify() 转换。
    像这样:
    let txt = JSON.stringify( handleText( txtArea.value ) ); txtArea.value = txt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多