2

可能重复:
如何将用户输入的换行符从 TEXTAREA 保存到数据库?

我在这里错过了一些简单的解决方案吗 - 我正在创建一个带有文本输入的表单。我希望这与任何换行符一起提交。用户实际上在 textarea 中写入,javascript/jquery 在提交之前将其复制到隐藏的文本输入中。

我已经看到了 javascript 用一些已知的中断字符替换 /n 等的解决方案。这是唯一的出路吗?然后我必须再次将其翻译回服务器端。我真的希望 /n 以 /n 的形式提交。

4

2 回答 2

4

您可以使用 a<textarea style="display:none;"></textarea>而不是 hidden <input type="text">

于 2012-10-11T20:15:38.647 回答
2

当提交带有普通文本区域的普通表单时,用户输入的任何换行符都会作为数据的一部分传输。它们被规范化为 CR LF 对。如果将 textarea 元素的值复制到隐藏字段,则会保留换行符。

所以问题在别处。可能您的服务器端表单处理程序没有准备好处理换行符。或者,它使用数据的方式可能会使换行符失去意义,或者完全丢失。一个常见的新手错误是将接收自表单的值写入 HTML 文档——即使保留了换行符,当它们作为内容出现在普通元素中时(与 egtextareapre)。

默认情况下,由浏览器自动换行而不是由用户操作创建的任何换行符都会丢失。通常没有理由保留它们,但如果您希望这样做,请使用元素wrap=hard中的属性。textarea(该属性是非标准的,但被广泛支持。=

于 2012-10-11T20:25:43.867 回答