【问题标题】:White space textarea in htmlhtml中的空白文本区域
【发布时间】:2018-03-08 01:27:40
【问题描述】:

我有一个包含表单的网站。在表单中,我有一个 textarea 字段。当按以下方式填充和显示时

例如。这就是它在 textarea 框中的写法

The manager,

Abc limited,

private bag,

earth.

它是这样显示的

The manager, Abc limited, private bag, earth.

我怎样才能让它保持原样

【问题讨论】:

  • 向我们展示相关代码,以便我们更好地帮助您
  • 请提供您的代码,以便我们为您提供帮助

标签: javascript html


【解决方案1】:

我能够重现您的错误的唯一方法是将<textarea> 拼错为<text area>。添加空间时,会发生错误。保留正确拼写的换行符。

【讨论】:

    【解决方案2】:

    您可以使用元素的 innerText 属性来保存 textarea 值。

    重要提示:在后端,您必须将\n 保留在数据库中或用于存储数据的任何内容中,以便将其取回并完全按照保存的方式呈现内容。

    var div = document.querySelector('div');
    var textarea = document.querySelector('textarea');
    
    div.innerText = textarea.value;
    textarea.addEventListener('input', function() {
      div.innerText = this.value;
    });
    <h3>Enter text and press enter</h3>
    <small>The entered text will appear automatically</small>
    <p>
    <textarea>
    The manager,
    
    Abc limited,
    
    private bag,
    
    earth.</textarea>
    <div></div>

    【讨论】:

    • 我认为你有一些 DRY 问题:p
    【解决方案3】:

    您必须使用 \ntextarea 内换行

    【讨论】:

      【解决方案4】:

      如果你使用的是php,那么你可以echo echo nl2br($textarea);

      https://www.w3schools.com/php/func_string_nl2br.asp

      或用于 jquery

      jQuery convert line breaks to br (nl2br equivalent)

      【讨论】:

        【解决方案5】:

        嗯,你并没有真正给我们很多关于如何打印文本字段的内容。但我的猜测是,如果你使用 php,你应该将你的变量包装在一个 nl2br() 函数中。

        在此处获取更多信息: http://php.net/manual/en/function.nl2br.php

        【讨论】:

          【解决方案6】:

          除非您使用white-space:pre 为元素设置样式,如this example 中那样,否则HTML 会忽略新行/空格

          【讨论】: