当我提交表单时,它会在浏览器网址中添加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>
&#13;
此示例的结果是:
/box?d=2%2C1
但我不想看%2C
(它的逗号),我知道decodeURIComponent
但我知道如何抓住这个表单操作并使用此组件在它上面,我试过这个:
decodeURIComponent($(this).attr('action'));
但它返回undefined。
目标:
decodeURIComponent
删除%2C
或 %2C
。我想要这个结果:
/box?d=2,1
答案 0 :(得分:0)
您应该只解码服务器端的URI,或者如果您在客户端以某种方式收到此请求,从不提交。 URI被编码为安全的“传输”(有时必须明确编码)。代码行为符合预期,或者我没有看到你的观点。