我的网站出现了这个问题 - 在浏览器后面的搜索字段中显示了我用来提交表单以转到下一页的值。我不知道如何修复它,因为浏览器返回没有发出 HTTP Get。编写一些 javascript 以在某种浏览器返回事件中从 URL 检索 Get 值的唯一方法是什么?
仅供引用,我的 html 表单正在执行 get,它看起来像这样:
<form id="main-search-form" action="/home" accept-charset="UTF-8" method="get"><input name="utf8" value="✓" type="hidden">
<input name="q" id="q" value="thinking sphinx" placeholder="" class="form-control" type="text">
</form>
简而言之,我的问题是:解决这个问题的正确方法是什么?我可以考虑从某种历史记录返回 javascript 事件的 url 获取参数,但这似乎是一个常见问题的 hack?
最佳答案
我必须在 window.onload 事件上使用 javascript 我根据 url 中的 q get 变量设置输入字段。除非我还包含 window.onbeforeload 事件,否则这不会起作用,我不确定为什么。
window.onbeforeunload = function () {
}
window.onload = function() {
$('#q').val(getQueryVariable("q"));
}
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
关于javascript - 浏览器返回搜索字段的 HTML 输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31604604/