表单字段中的HTML标记不起作用

时间:2014-01-28 21:32:33

标签: javascript html forms postgresql markup

我正在创建一个用户可以登录的网站,并在表单字段中写入或粘贴文本,如此

<textarea name="descr" id="descr" class="textformfront"  rows="24" cols="50" required onFocus="cleari();"></textarea>

文本保存在数据库中(postgreSQL 9.1扩展为PostGIS 2.0)。 DB中列的数据类型是“text”。然后文本显示在前端,在div中如此

<div id="formdescr" style="overflow-y:auto; height:400px; width:100%;"></div>

我的问题是,如果用户在表单中插入长文本,带有段落和分隔符,则在div中不显示任何内容。在div中,我看到的是一个连续的文本,没有中断,没有段落。

我该如何解决这个问题?

感谢。

更新

我使用nodejs 0.10.12 / websockets从DB传输到浏览器,从浏览器传输到DB。我将文字放在divdocument.getElementById("formdescr").innerHTML=descr;,其中descr来自客户端的websockets。在源代码中,我看不到文字。用户必须先搜索,然后div才能获得文字。

2 个答案:

答案 0 :(得分:2)

您的问题是浏览器会忽略内容中的空白区域。多个空格和新行全部折叠到渲染输出中的一个空格中。

如果要保留所有原始格式,包括缩进和换行符,可以将文本输出到该div内的<pre>块中。

您的另一个选择是将空白区域编码为html实体。使用<br>表示换行符,使用&nbsp;表示应保留的空格。

答案 1 :(得分:0)

您的解决方案很可能取决于您使用的后端编程语言,而不是数据库。如果您使用php,我想this应该回答您的问题(如果没有,您应该能够进行转移;-))