Javascript 返回浏览器上搜索字段的Html输入值
我的网站有这个问题-在浏览器背面的搜索字段显示了我用来提交表单以进入下一页的值。我无法确定如何修复它,因为浏览器返回时没有发出HTTP Get。在某种浏览器返回事件中,编写javascript以从URL检索Get值的唯一方法是什么 仅供参考,我的html表单正在执行get,它如下所示:Javascript 返回浏览器上搜索字段的Html输入值,javascript,html,Javascript,Html,我的网站有这个问题-在浏览器背面的搜索字段显示了我用来提交表单以进入下一页的值。我无法确定如何修复它,因为浏览器返回时没有发出HTTP Get。在某种浏览器返回事件中,编写javascript以从URL检索Get值的唯一方法是什么 仅供参考,我的html表单正在执行get,它如下所示: <form id="main-search-form" action="/home" accept-charset="UTF-8" method="get"><input name="utf8"
<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获取get参数,但这似乎是对一个常见问题的破解?我必须在窗口上使用javascript。onload事件我根据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);
}
window.onbeforeunload=函数(){
}
window.onload=函数(){
$('#q').val(getQueryVariable(“q”);
}
函数getQueryVariable(变量){
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;仅凭HTML无法完成此操作。您可以使用javascript检查URL中字段的值并手动进行匹配。如果我没有错,StackOverflow将使用并能够使用搜索栏中的上一个搜索值重新填充文本框。