如何在不同的网页中使用相同的下拉列表

时间:2018-12-04 11:23:33

标签: javascript php

我有以下下拉列表,我想在多个页面中使用它

<form action = "Unser Team.php" method = "post" name = "test">
    <div class = "custom-select">
    <div class = "select">
        <select id ="custom-select" name = "custom-select" style="width:200px;" onchange = " this.form.submit();">
            <option <?php if ($_POST['custom-select'] == 'Abteilung auswählen') print 'selected '; ?>value="Abteilung auswählen">Abteilung auswählen</option>
            <option <?php if ($_POST['custom-select'] == 'TL-311') print 'selected '; ?> value="TL-311">TL-311</option>
            <option <?php if ($_POST['custom-select'] == 'TP-271') print 'selected '; ?> value="TP-271">TP-271</option>
            <option <?php if ($_POST['custom-select'] == 'TP-310') print 'selected '; ?> value="TP-310">TP-310</option>
            <option <?php if ($_POST['custom-select'] == 'TP-270') print 'selected '; ?> value="TP-270">TP-270</option>
        </select>
    </div>
    </div>

当用户选择一个选项时,我将其保存,我希望在下一页中看到已选择的选项已被预先选择,并使用以下代码 在主页中:

var file;

function myFunction()
{
    var mylist = document.getElementById("custom-select");
    var mytext = mylist.options[mylist.selectedIndex].text;
    window.file = mytext;
    return window.file;
}

window.onload = function() {
    var getInput = window.file;
    localStorage.setItem("files",getInput);
}

其他页面:

var myFile = localStorage.getItem("files");

window.onload = function() {
    var ddValue= localStorage.getItem('files');
    var dd= document.getElementById('custom-select');
    for(var i = 0;i < dd.options.length;i++){
        if(dd.options[i].value == ddValue ){
            dd.options[i].selected = true;
            break;
        }
    }
}

以此方式在下一页中预先选择了主页中的所选值,但是问题在于,使用此代码我无法在其他页面的下拉列表中更改所选值。可以请人帮我吗? 我是网络编程新手。

1 个答案:

答案 0 :(得分:1)

首先,欢迎您使用Stackoverflow!

misorude 所指出的那样,利用PHP会话可能是明智的。当您从一页切换到另一页而没有提交表单时,您将丢失$_POST变量。我相信这是您的问题吗?

但是,当您使用会话时,客户端会将ID保存为cookie。每次它与您的服务器通信时,它都会提供此“ session_id”。这样,服务器将能够为该客户端获取正确的会话变量。

使用会话非常容易,请在脚本顶部调用session_start();。从那里开始,您可以使用$_SESSION["var_name"] = "value";

有关该主题的更多详细信息,您可能需要阅读this article on w3Schools