我需要通过隐藏字段发布多行数据.数据将在发布后在文本区域中查看.如何以html格式发布换行/回车?
我试过\ r \n但是只发布实际的"\ r \n"数据
有没有办法做到这一点?
而不是使用
尝试使用
虽然在的隐藏状态下技术上允许使用新行(回车和换行),但应该对它们进行转义以与旧版浏览器兼容.您可以通过将所有回车符(\u000D
或\r
)和所有换行符(\u000A
或\n
)替换为应用程序识别的专有字符串作为回车符或新行(并且如果存在于原始字符串中也进行转义)来执行此操作.
例简单的字符实体在这里不起作用,因为不符合标准的浏览器可能知道
并且
是新行并从值中剥离它们.
例如,在PHP中,如果您echo
将传递的值传递给textarea,则应包括换行符(和未转义的字符串).
但是,在PHP中,如果您使用标记echo
的value属性的值,则可以使用专有字符串(例如\r
和\n
)转义新行,并在提交的值中转义专有字符串的任何实例.
然后,在其他地方使用该值(插入数据库,发送电子邮件等)之前,请务必在必要时取消提交的值.
放心作为进一步的保证,我问WHATWG,目前HTML规范的编辑Ian Hickson回答说:
bfrohs关于的问题 - 值中是否允许换行和回车?它们在Text状态和Search状态中被明确禁止,但没有提到隐藏状态.如果没有,是否有可接受的HTML解决方案来存储来自textarea的表单数据?
Hixie是的,他们被允许// iirc //由于遗留原因你可能希望逃避它们虽然有些浏览器将它们标准化//我忘了如果我们在规范中修复了//
资源
真的取决于字符集,但 应该换行和 应该回车.您应该能够在value属性中使用它们.