我有一个简单的HTML输入元素:
<input type="text" class="form-control" name="value">
此字段可以包含以逗号分隔的值,例如ABC, DEF, GHI
。提交时的字段值必须与输入时的字段值完全相同。但是,当我将字段值打印到控制台时,我正在
ABC%2C+DEF%2C+GHI
。
我想要ABC, DEF, GHI
我为表单尝试了decodeURIComponent
和accept-charset="ISO-8859-1"
之类的内容,但它们不起作用。如何防止逗号和空格的编码?提前谢谢!
答案 0 :(得分:1)
在提交之前,根据我的测试
对值进行编码,它应该有效<form id="myForm" action="form.php" method="GET">
<input id="encodeMe" name="string" value="this will be encoded correctly" />
<input type="submit" value="OK" />
</form>
$('#myForm').submit(function() {
var enc = escape($("#encodeMe").val());
$("#encodeMe").val(enc);
});
答案 1 :(得分:0)
好的,我明白了。在JavaScript中,必须处理输入字段:
decodeURIComponent(str.replace(/\+/g,' '))
其中str = ABC%2C+DEF%2C+GHI
。只有decodeURIComponent
是不够的。希望它有所帮助!