无法从 HTML textarea 获得准确的打印结果

Can't get exact print out result from HTML textarea

我正在创建医疗处方表格。这里的 textarea 字段名称之一是 new prescription。医生会在这里插入值,例如

1. medicine-l
   1+1+1
2. medicine-2
   1+0+1

但是当我打印出处方时,这个 new prescription 字段显示它的值就像

1.medicine-1 1+1+1 2.medicine-2 1+0+1

但我想打印出 new prescription 的值,就像医生插入的那样。

我该怎么做?有人帮忙吗?

在您将文本打印出来之前,换行符实际上会保留下来。 HTML 不检测文本中的换行符。

对 JS 试试这个:

textAreaText.replace(/(?:\r\n|\r|\n)/g, '<br>');

How do I replace all line breaks in a string with <br /> tags?

为 PHP 试试这个: http://php.net/manual/en/function.nl2br.php

您应该可以使用 CSS property white-space 来做到这一点。

示例:

.textarea-class {
  white-space: pre-wrap;
}

如果有各种选项,请咨询 the MDN docs 以获得非常好的概述,但您似乎想要 pre(就这样),pre-wrap(保持间距和线条换行,但换行),甚至 pre-line(保持换行但不保持间距,换行)。

您需要将其放入 your print stylesheet