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" 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/

相关文章:

javascript - 使用两个变量的内容并将其作为一个变量使用

javascript - knockout - keyCode 属性未通过包装函数传递

javascript - 在特定类的每个 div 中绘制对 Angular 线?

javascript - 如何查找存储在数组中的字符串中的数字总和

javascript - BluebirdJS promise jQuery 无法正常工作

JQUERY:使用 $(this) 创建自定义函数

javascript - 拖动放置在 Canvas 中的缩放图像

javascript - 函数 elm(obj){ return document.getElementById(obj); }

javascript - 向单选按钮添加 onclick 功能

javascript - 取消选择特定 div 内除选中的复选框之外的所有复选框