如何在html隐藏值中添加特殊字符

时间:2013-04-04 11:37:38

标签: html html-escape-characters

我想把值=" name + asc"在隐藏的领域。 Http方法是Get。

<input type="hidden" value="name+asc" name="sort" />

但我不能在URL中加上名称+ asc。

我该如何处理这个问题。

2 个答案:

答案 0 :(得分:1)

表单输入的值将在提交表单时自动编码。在application/x-www-form-urlencoded数据中,+符号代表一个空格,因此浏览器会将其编码为%2B

如果您想在数据中提交带有+的表单:您拥有的代码没问题。

如果要提交数据中包含空格的表单:使用文字空间。浏览器会为您编码。

如果您希望使用JavaScript读取表单数据,并在通过encodeURIComponent方法传递数据时以编程方式构造URL(或发布请求)。

var value = "123+456";
var encodedValue = encodeURIComponent(value);
var url = "http://example.com/?query=" + encodedValue;

如果你想手工构建URI(例如粘贴到HREF属性中),那么你需要在某个地方查找编码值。我倾向于在终端中运行node.js,这样我就可以快速输入encodeURIComponent('a string literal');

答案 1 :(得分:0)

据我所知,+会自动拆分您的值,除非编码为特殊字符。您可以使用 - 或_而不是+。