You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让换行符在DispWin窗口中正常显示?

解决文本域换行在新窗口无法显示的问题

问题根源是文本域里输入的回车键生成的是换行符\n,但HTML默认会忽略这类空白字符,直接输出的话不会渲染成换行效果。只需在将文本内容插入HTML前,把所有换行符替换成HTML的换行标签<br>即可解决。

修改后的代码如下:

<script>
        function display() {
            // 打开指定属性的新窗口
            const DispWin = window.open('', 'NewWin', 'toolbar=no,status=no,width=700,height=500');

            // 表单元素数组
            const formElements = [
                document.form1.activity,
                document.form1.des,
                document.form1.trouble,
            ];

            // 表单标签数组
            const formLabels = [
                "Activity",
                "Description",
                "Troubleshooting Steps",
            ];

            // 存储输出内容的字符串
            let message = "<ul style='list-style-type:none;font-family:sans-serif;'>";

            // 遍历表单元素,处理内容后拼接
            for (let i = 0; i < formElements.length; i++) {
                // 将文本域中的换行符全局替换为HTML换行标签
                const processedValue = formElements[i].value.replace(/\n/g, '<br>');
                message += `<li style='margin-bottom:5px;'><b>${formLabels[i]}:</b> ${processedValue}</li>`;
            }

            message += "</ul>";

            // 写入新窗口
            DispWin.document.write(message);
        }
    </script>

核心修改说明:

  • 新增processedValue变量,通过replace(/\n/g, '<br>')把文本域中的所有换行符替换为HTML换行标签
  • 将原代码中直接使用的formElements[i].value替换为处理后的processedValue

修改后,文本域内通过回车键输入的换行就能在新窗口DispWin中正常显示了。

内容的提问来源于stack exchange,提问作者SWORDISA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 07:15:29