我正在创建一个有两个页面的程序:一个用于通过textarea
将文本作为form
输入数据库,另一个用于获取所述数据并将其显示在textarea
上。然而,提交有缩进的文本(作为用户点击回车按钮的产物(,获取和显示信息的页面会中断,我知道为什么,但不知道如何修复。
提交表单的页面:
<!--Form-->
<div class="container">
<form action="/spaceData" method="POST">
<br>
<textarea value="" id="textbox" name="usertext" maxlength="100" placeholder="Write your fortune:" onchange="handleChange(this)"></textarea>
</br>
</div>
<div class="container">
<button type="submit" id="submit" onclick="return handleChange()">Contribute Wisdom</button>
</div>
</form>
</div>
显示数据的页面是一个ejs文件,它检索提交的文本值,如下所示:
let text = "<%= text %>";
但是,对于带有缩进的字符串,变量会中断。例如,假设用户输入字符串:
hello
world
!
ejs文件将变量显示为:
let text = "hello
world
!";
这会导致程序中断。如何允许text
变量检测换行符?
我想也许我可以在提交之前迭代字符串,如果检测到缩进,可以用n
替换它,但我不确定如何实现,也不确定它是否能解决问题。
谢谢你的建议。
这是因为html和js的换行符工作方式不同。
无论如何。文本区域在您输入特征线时发送这些特征线如果你想在你的前端启用这些换行符,只需在你想要呈现这些文本的区域添加这个css例如:变成";p〃;标签
在<样式>或.css文件:
p {
white-space: pre-wrap;
}
或在html:中
<p style="white-space: pre-wrap"> {textarea} </p>
textarea可以注册所有这些特征线。但当它将其发送到数据库时,js中没有表单,您可以看到这些特征线。idk如何解释它,但正在隐藏这些
行