【问题标题】:ColdFusion HTML Form breaking on quotesColdFusion HTML 表单打破引号
【发布时间】:2020-09-21 17:39:23
【问题描述】:

奇怪的是我有一个不会传递双引号的表单?

例如:

10 and single ' this" And " Another

在输入表单中停止于: 10 and single ' this

为什么不保留双引号? "

我的表单类型为:enctype="application/x-www-form-urlencoded"

我还有其他可以使用引号的形式。

【问题讨论】:

  • 哪里没有保留双引号?当您尝试保存在数据库中或尝试在输入中显示带有预填充数据的 for 时?
  • 在表单输入中。我可以将 10" 管道放入表单并提交。它通过正常。当我去编辑同一个条目时说可能是 10" PVC 管道。它仅在表单输入中显示 10。不是 10" 管道
  • 双引号破坏了<input> 的html。您可能想使用value="#encodeForHTMLAttribute(Value)#"
  • 最初输入value="" 所以没有问题。编辑时,字段值填充了一个包含双引号的字符串,浏览器将其解释为值的结尾,因此value="10" PVC Pipe"在“10”之后被截断

标签: forms coldfusion coldfusion-2016


【解决方案1】:

这里发生的是文本10 and single ' this" And " Another 中的双引号破坏了输入元素。

带有" 的文本将提前结束value 属性。

例如<input value="10 and single ' this" And " Another">

要克服这个问题,您需要用户

<input value="#encodeForHTMLAttribute(formValue)#">

【讨论】:

  • 是的。我发现奇怪的是这并没有在其他形式上做到这一点。嗯
  • IHMO,这应该在所有表单域上完成。 encodeForHTMLAttribute() 也可以在 &lt;option value="#encodeForHTMLAttribute(data)#"&gt; 中使用
  • Merle,如果 value 字段中的引号不匹配,那么字段值将始终被截断
猜你喜欢
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
相关资源
最近更新 更多