所以,如果我要在我的输入中添加一些空格(测试测试)并点击提交,它会显示为测试+测试,如果我双击提交,它显示测试%2Btest 而不是测试+测试 需要帮助那些东西..
<form name="input" action="" method="get">
Search: <input type="text" name="search">
<input type="submit" value="Submit">
<div id="result"></div>
</form>
$('form').submit(function() {
var form_data = ($(this).serialize());
window.location.hash = form_data.replace('=','/');
return false;
});
$(window).on('hashchange', updateVal);
updateVal();
function updateVal() {
var values = window.location.hash.slice(1).split('/');
$("[name=" + values[0] + "]").val(decodeURIComponent(values[1]));
}
答案 0 :(得分:1)
每次设置输入值时,只需要将+
替换为空格:
$("[name=" + values[0] + "]").val(decodeURIComponent((values[1] || '').replace(/\+/g, ' ')));
工作示例您可以在此处看到:http://jsbin.com/elewux/2/edit