文本区域在使用下一行时无法感知

时间:2012-01-30 15:54:15

标签: html

我正在处理一个项目,我需要在用户点击保存时保存用户的输入。

<form name="input" action="updater.php" method="get"><label>
<textarea  name="addr" cols="62" rows="29">
Your Message will be     displayed here . </textarea>
问题是,我可以保存用户的输入。但如果用户点击“输入”#39;如果我输入

,文本区域不会感觉到它
Hello 
world

保存

Hello World

而应该是

Hello
World

4 个答案:

答案 0 :(得分:1)

在各种操作系统中,不同的字符用于表示新行。有时它是\ r \ n,有时是\ n或者有时\ r \ n。

您需要确保在用户保存提交的表单时保留换行符,并说明可能会发送上述任意组合的事实。

此外,请确保在查看已保存的内容时正确返回这些内容。例如,在textarea中,它存储为\ r \ n。 要在HTML中显示新行,您必须使用<br />

使用nl2br();可以在PHP中轻松完成。

答案 1 :(得分:0)

假设您使用php检索nd显示存储的字符串,您可以使用nl2br函数正确显示该字符串。请在下次关闭所有html标签时做好。

答案 2 :(得分:0)

当用户点击Enter时,系统相关的控制字符将插入value元素节点的textarea属性中。如果textarea是表单的一部分并且表单已提交,那么这些控制字符将被规范化为CR LF(回车符,LineFeed)对。

其余的取决于您使用的客户端或服务器端代码。

答案 3 :(得分:0)

在从数据库检索后存储和encodeURIComponent时使用decodeURIComponent。 看看小提琴示例:http://jsfiddle.net/ztB7Q/

有关详细信息,请查看 Encoding and decoding using JavaScript and PHP ,希望您能在此处获得答案。