【问题标题】:Why are multiple spaces in html hidden input value treated as one?为什么html隐藏输入值中的多个空格被视为一个?
【发布时间】:2015-06-25 16:32:37
【问题描述】:

很明显,连续的空格在 HTML 中被渲染为一个空格。但是为什么这适用于隐藏输入字段的 value 属性?以及如何克服这个问题?

例如标记<input type="hidden" name="var" value="a b"> 将导致值为a b(只有一个空格)。

注意:我正在使用 PrestaShop。

编辑:问题如下:Prestashop 有一个选项高级参数 - 性能 - 合并、压缩和缓存 - 缩小 HTML,它将多个空格表示为一个,即使在属性值中。它可以被认为是一个错误,因为多个空格在 html 属性中是有意义的。

【问题讨论】:

  • 你的意思是当你用JS读取值的时候?什么时候发送到服务器?
  • 当我通过 POST 将它发送到服务器时。我没有尝试用 JS 读取值。
  • 我无法复制。请说明您如何提交表单、如何在服务器端接收数据以及如何显示它。我的猜测是你只是在 HTML 中回显它,而在 HTML 中空格会折叠成一个空格(除非white-space 指定)。
  • 我在谷歌浏览器中查看请求详情,当我有<input type="hidden" name="test1" value="a b"><input type="hidden" name="test2" value="a b">时,提交的表单数据为test1=a+b&test2=a+b
  • 在您的示例中,test1test2 的值只有一个空格是错字吗?

标签: html input field whitespace prestashop


【解决方案1】:

普通空格(不是非连续空格或 )是 ,你应该可以用它添加双空格。

Unicode-Table

【讨论】:

    【解决方案2】:

    不确定这是否有效,但您是否尝试过  而不是普通空格?

    【讨论】:

    • 这将允许发送多个空格,但空格和  不是同一个字符。
    • 你可以使用htmlspecialchars_decode切换回来。
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多