好吧,这对我来说可能很难解释,但我会试一试。我有两个页面: form.html和display.html。表单页面有一个输入,该输入获取一个值,然后在表单提交后将其放入本地存储中。表单提交后,用户将被带到显示页面,然后显示页面将从本地存储中检索前一页面的输入值,然后在显示页面上的输入字段中显示该值。显示页面稍后将充当作业页面,该页面将显示作业列表,该列表可通过同一页面上输入字段中的值进行筛选。我可以通过在输入字段上使用onkeyup来使filter函数工作,但我不能使用的是使用onload之类的东西使用来自上一页的输入值的filter函数。为什么我使用两个页面的原因是,我将使用这个代码在一个网站上,将有一个登陆页上的搜索框,然后将被定向到与过滤结果的职位页面。如果这真的很难理解,我很抱歉,我会发布下面的代码,这样你可能会更好地理解。
非常感谢每天抽出时间来帮助我解决这个问题的人,我非常感激。
form.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>display.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>发布于 2020-01-15 10:27:36
是否尝试将侦听器添加到window.onload?input没有这样的事件。
window.addEventListener('load', filter, false)https://stackoverflow.com/questions/59744254
复制相似问题