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

如何在DIV中打印含\n换行符的输入字段文本为两行

解决输入字段含换行符在DIV中显示两行的问题

核心问题说明

输入框中输入的Test1\nTest2里的\n是两个独立字符(反斜杠+字母n),并非真正的换行符;另外用innerText插入内容时,会把<br>当作普通文本渲染,无法触发换行效果。

解决方案

1. 正确替换转义的换行符

需要匹配输入值里的\n转义字符,并用<br>全局替换(加g修饰符确保替换所有匹配项)。

2. 用innerHTML插入内容

innerHTML会解析HTML标签,让<br>生效实现换行,而不是像innerText那样把标签当作纯文本。

修改后的完整代码

HTML代码

<div id="renderdiv">Some text</div>
<br><br>
<label for="take">Enter text: </label>
<input type="text" name="enter" id="take">

JavaScript代码

var data = {"jsontext":"First line\nSecond line"};
var textToAdd = data.jsontext;

var getInput = document.getElementById('take');
var divPrint = document.getElementById('renderdiv');

divPrint.innerText = textToAdd;

getInput.addEventListener('change', function() {
    var nonParsed = this.value.replace(/\\n/g, '<br>');
    divPrint.innerHTML = nonParsed;
});

补充说明

如果是处理JSON中直接读取的真实换行符(比如示例里的data.jsontext),直接用divPrint.innerText就能自动识别换行;但输入框手动输入的\n是转义字符,必须先替换为<br>再用innerHTML渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:48:11