textarea输入框的内容如何原模原样的展示出来?(适用于一些antd design框架以及element ui框架)

笔者在工作的时候遇到了一个问题,在写一个新建页面的需求的时候,遇到一个问题:新建页面的文本框里用户输入的内容格式,前端要返回这些数据给后端,后端又不想做空格以及换行的判断处理,,所以后端在返回给前端的数据其实是一大串没有格式的字符串,但是又要求在详情页展示用户输入时候的原格式文本。

其实这个实现起来很简单,现在html和css越来越强大,能实现的功能也越来越多,html提供了一个pre标签,css同样为pre标签提供了pre-wrap属性(当文本框的长度超过显示区域的时候,文本会溢出的时候使用)

下面来看例子:

1、这是不用pre标签的时候展示的样子,可以看到用户输入的格式展示的时候完全是乱的。

897e6724c3024c43a5b0315f977cd1b3.png

 

2、pre元素的作用--保证文本格式的正常显示

330c70b6133c4d9691ece112f5de0cc4.png

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>pre属性</title>
    <style>
      #showText {
        width: 400px;
        min-height: 100px;
        border: 1px solid #dedede;
      }
    </style>
  </head>
  <body>
    <textarea class="writeArea" cols="60" rows="10"></textarea>
    <button onclick="displayText()">提交</button>

    <pre id="showText"></pre>

    <script>
      function displayText() {
        document.getElementById("showText").innerHTML =
          document.querySelector(".writeArea").value;
        console.log(document.querySelector(".writeArea").value);
      }
    </script>
  </body>
</html>

3、pre-wrap属性作用--超出文本区域自动换行

727b10bb53794d749e3e202e9fcc1f18.png

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>pre属性</title>
    <style>
      #showText {
        width: 400px;
        min-height: 100px;
        border: 1px solid #dedede;
        white-space: pre-wrap;
      }
    </style>
  </head>
  <body>
    <textarea class="writeArea" cols="60" rows="10"></textarea>
    <button onclick="displayText()">提交</button>

    <pre id="showText"></pre>

    <script>
      function displayText() {
        document.getElementById("showText").innerHTML =
          document.querySelector(".writeArea").value;
        console.log(document.querySelector(".writeArea").value);
      }
    </script>
  </body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值