当我提交表单时,它将在浏览器url中添加hidden输入作为查询字符串。
$('form').on("submit", function(event) {
event.preventDefault();
// what i tried
console.log($(this).attr('action'));
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="GET">
<input type="hidden" name="d" value="2,1">
<input type="submit" value="Submit"/>
</form>
此示例的结果是:
/box?d=2%2C1但是我不想看到%2C (它是逗号),我知道decodeURIComponent,但是我知道如何抓住这个表单动作并在上面使用这个组件,我尝试了如下:
decodeURIComponent($(this).attr('action'));但它还没有定义。
目标:
decodeURIComponent删除%2C 或%2C。我想要这个结果:
/box?d=2,1发布于 2017-12-15 14:49:29
您应该只对URI服务器端进行解码,或者如果您在客户端以某种方式接收到此请求,则不要提交。URI是为安全的“传输”而编码的(有时必须显式编码)。代码行为与预期的一样,否则我就不明白您的意思了。
https://stackoverflow.com/questions/47834370
复制相似问题