0

所以,如果我要在我的输入中添加一些空格(测试测试)并点击提交,如果我双击提交,它也会显示为测试+测试,它显示它是test%2Btest而不是test+test 需要帮助用那些东西..

<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]));
}
4

1 回答 1

1

+每次设置输入值时,您只需要替换到空格:

$("[name=" + values[0] + "]").val(decodeURIComponent((values[1] || '').replace(/\+/g, ' ')));

您可以在这里看到工作示例:http: //jsbin.com/elewux/2/edit

于 2013-03-13T19:55:19.940 回答