【问题标题】:Line breaks in <textarea> input forms submission: Same for all browsers?<textarea> 输入表单提交中的换行符:所有浏览器都一样吗?
【发布时间】:2011-08-04 15:41:54
【问题描述】:

是否所有(主要)浏览器/操作系统都以相同的方式发送换行符?

还是 Windows 客户端以\r\n 发送换行符,而 *nix 以\n 发送换行符?

【问题讨论】:

    标签: html forms textarea form-processing


    【解决方案1】:

    不幸的是,它们对于不同的操作系统是不同的。

    在预处理 HTML 输入时,至少 HTML 会尝试弥补这一点:

    U+000D CARRIAGE RETURN (CR) 字符和 U+000A LINE FEED (LF) 字符被特殊处理。必须删除后跟 LF 字符的任何 CR 字符,并且必须将任何不跟 LF 字符的 CR 字符转换为 LF 字符。因此,HTML DOM 中的换行符由 LF 字符表示,并且在标记化阶段的输入中永远不会有任何 CR 字符。

    http://dev.w3.org/html5/spec/parsing.html#preprocessing-the-input-stream

    【讨论】:

    • 我明白你的第一句话。不过,我看不出您对 HTML 的引用是如何相关的。表单提交是通过 HTTP 完成的,对吧?在服务器端完成的表单处理与 HTML 几乎没有关系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 2011-06-08
    • 2011-05-07
    • 2011-04-20
    相关资源
    最近更新 更多