首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用从上一页传入的输入值在页面加载时过滤列表

使用从上一页传入的输入值在页面加载时过滤列表
EN

Stack Overflow用户
提问于 2020-01-15 10:05:29
回答 1查看 33关注 0票数 0

好吧,这对我来说可能很难解释,但我会试一试。我有两个页面: form.html和display.html。表单页面有一个输入,该输入获取一个值,然后在表单提交后将其放入本地存储中。表单提交后,用户将被带到显示页面,然后显示页面将从本地存储中检索前一页面的输入值,然后在显示页面上的输入字段中显示该值。显示页面稍后将充当作业页面,该页面将显示作业列表,该列表可通过同一页面上输入字段中的值进行筛选。我可以通过在输入字段上使用onkeyup来使filter函数工作,但我不能使用的是使用onload之类的东西使用来自上一页的输入值的filter函数。为什么我使用两个页面的原因是,我将使用这个代码在一个网站上,将有一个登陆页上的搜索框,然后将被定向到与过滤结果的职位页面。如果这真的很难理解,我很抱歉,我会发布下面的代码,这样你可能会更好地理解。

非常感谢每天抽出时间来帮助我解决这个问题的人,我非常感激。

form.html

代码语言:javascript
运行
复制
<!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

代码语言:javascript
运行
复制
<!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>
EN

Stack Overflow用户

回答已采纳

发布于 2020-01-15 10:27:36

是否尝试将侦听器添加到window.onloadinput没有这样的事件。

代码语言:javascript
运行
复制
window.addEventListener('load', filter, false)
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59744254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档