好吧,这对我来说可能很难解释,但我会尝试一下。我有两个 HTML 页面:form.html 和 display.html。表单页面有一个输入,该输入获取一个值,然后在提交表单后将其放入本地存储中。表单提交后,用户将被带到显示页面,该显示页面将从本地存储中检索上一页的输入值,然后将该值显示在显示页面上的输入字段内。显示页面稍后将充当作业页面,该页面将显示作业列表,该列表可通过同一页面上输入字段内的值进行过滤。我可以通过在输入字段上使用 onkeyup 来使过滤器功能正常工作,但我无法使用 onload 之类的方法使过滤器功能与上一页的输入值一起工作。我使用两个页面的原因是,我稍后将在一个网站上使用此代码,该网站将在登陆页面上有一个搜索框,然后将被定向到带有过滤结果的“职位”页面。如果这真的很难理解,我很抱歉,我将在下面发布代码,以便您更好地理解。
非常感谢那些抽出时间帮助我解决这个问题的人,非常感谢。
表单.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script>
function passValues() {
var firstName = document.getElementById("txt").value;
localStorage.setItem("textValue", firstName);
return false;
}
</script>
</head>
<body>
<form action="display.html">
<input type="text" id="txt" />
<input type="submit" value="Click" onclick="passValues();" />
</form>
</body>
</html>
显示.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Tokyo Expat Job Search</h1>
<input onload="filter()" onkeyup="filter()" id="result" type="text">
<ul id="Menu">
<li><a href="#">English Techer</a></li>
<li><a href="#">Waiter/Waitress</a></li>
<li><a href="#">Developer</a></li>
<li><a href="#">Banker</a></li>
<li><a href="#">Designer</a></li>
<li><a href="#">Logistics</a></li>
</ul>
<script>
function filter() {
var filterValue, input, ul, li, a, i;
input = document.getElementById("result");
filterValue = input.value.toUpperCase();
ul = document.getElementById("Menu");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
if (a.innerHTML.toUpperCase().indexOf(filterValue) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
document.getElementById("result").value = localStorage.getItem("textValue");
</script>
</body>
</html>
最佳答案
尝试将监听器添加到window.onload
? 输入
没有这样的事件。
window.addEventListener('load', filter, false)
关于javascript - 使用从上一页传入的输入值来过滤页面加载时的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59744254/