HTML表单:提交带换行符的文本输入

HTML表单:提交带换行符的文本输入,html,forms,Html,Forms,可能重复: 我是否缺少一些简单的解决方案?我正在创建一个带有文本输入的表单。我希望这是提交任何换行符。用户实际上在一个textarea中写入,javascript/jquery在提交之前将其复制到隐藏的文本输入中 我见过javascript用一些已知的中断字符替换/n等的解决方案。这是唯一的路吗?然后我必须把它翻译回服务器端。我非常希望/n作为/n提交 您可以使用而不是隐藏的当提交带有正常文本区域的正常表单时,用户输入的任何换行符都将作为数据的一部分传输。它们被规范化为CR-LF对。如果将te

可能重复:

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


我见过javascript用一些已知的中断字符替换/n等的解决方案。这是唯一的路吗?然后我必须把它翻译回服务器端。我非常希望/n作为/n提交

您可以使用
而不是隐藏的

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

因此,问题在别处。服务器端表单处理程序可能不准备处理换行符。或者,它使用数据的方式可能使换行符失去意义,或者完全丢失。一个常见的新手错误是将从表单接收到的值写入HTML文档中–即使保留了换行符,但当它们作为普通元素中的内容出现时(与例如
textarea
pre
相反),HTML规则将它们视为等同于空格


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

是的!谢谢。我没有意识到textarea可以以表单形式提交。我认为它必须输入。我给了它一个name属性,这样我可以从我的帖子中从服务器端抓取它。现在它可以直接使用了(因此显示)是的。表单将从
输入
文本区
选择
,提交值,除非它们被禁用或其他边缘情况。一个有趣的技巧是添加多个提交按钮并为其分配不同的值;单击按钮的值,而不是其他提交按钮的值,与表单数据一起发送。