我有以下下拉列表,我想在多个页面中使用它
<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;
}
}
}
以此方式在下一页中预先选择了主页中的所选值,但是问题在于,使用此代码我无法在其他页面的下拉列表中更改所选值。可以请人帮我吗? 我是网络编程新手。
答案 0 :(得分:1)
首先,欢迎您使用Stackoverflow!
如 misorude 所指出的那样,利用PHP会话可能是明智的。当您从一页切换到另一页而没有提交表单时,您将丢失$_POST
变量。我相信这是您的问题吗?
但是,当您使用会话时,客户端会将ID保存为cookie。每次它与您的服务器通信时,它都会提供此“ session_id”。这样,服务器将能够为该客户端获取正确的会话变量。
使用会话非常容易,请在脚本顶部调用session_start();
。从那里开始,您可以使用$_SESSION["var_name"] = "value";
有关该主题的更多详细信息,您可能需要阅读this article on w3Schools。