Javascript - value of textarea not formatted when put in <
Javascript - value of textarea not formatted when put in <p>
我正在尝试从文本区域获取内容,并将其放入<p>
中,然后打印,这样我就可以打印整个文本区域。然而,当我获取文本区域的值并将其放在<p>
中时,它会丢失所有格式,因为所有内容看起来都像一个缩小的JS文件。有人知道在复制到<p>
标签时如何保持格式吗?
我的代码:
document.getElementById('bigthing').style.display = 'none';
document.getElementById('printtext').style.display = 'block';
document.getElementById('printtext').innerHTML = document.getElementById('output').value;
window.print();
document.getElementById('printtext').style.display = 'none';
document.getElementById('bigthing').style.display = 'block';
因为在文本区域中,内容是一个字符串。换行符类似于"''n"。不是
。当您将其直接分配给段落元素(p)的"innerHTML"时,这些"''n"将被忽略,因为"''"是转义符。您将看到其余的纯文本。
document.getElementById('txtareafieldId').value //let value is aa in two lines => a'na'n
document.getElementById('paraId').innerHTML // it will display as "a a"
请注意a和a之间的空格。这是因为忽略了"''n"。
Regex替换换行符:
var val = document.getElementById('txtareafieldId').value;
var fval = val.replace(/'n/g,"<br/>");
document.getElementById('paraId').innerHTML =fval;
您可以尝试增加文本区域的高度以包括所有内容,而不是在打印前读取文本区域的内容并将其放入段落中:
yourTextArea.style.height = yourTextArea.scrollHeight + "px";
然后你可以把它换回来。
相关文章:
- jQuery.when()在循环中被忽略
- Angular js-尚未添加PUT请求到服务的URL
- 在put方法之前从作用域获取数据
- 为什么$.when().pipe().then()有效,而$.when
- 为什么有些jQuery程序员使用像$.get、$.getJSON和$.when这样的jQuery函数来代替$.ajax
- 通过$.when传播进度通知
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- 为什么不't CasperJS'sendAJAX函数为PUT请求发送任何内容
- 使用restangular save方法调用put与post时的控件
- Bootstrap-Datepicker not selecting date when using "set
- dojo/request PUT方法dosn'不起作用
- 带有后续put调用的TransactionInactiveError
- Shopify PUT出现问题
- Jquery:$.when根据参数的数量表现不同
- jQuery.when() 需要清除
- GWT HashMap.put() 不向 HashMap 添加数据
- Jquery动画和when函数
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 使用 jquery.when 和 done 将值从一个 ajax 调用传递到另一个
- Javascript - value of textarea not formatted when put in <