Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用cookie保存所有页面的选定值?(如货币、语言)_Javascript_Php_Html - Fatal编程技术网

Javascript 如何使用cookie保存所有页面的选定值?(如货币、语言)

Javascript 如何使用cookie保存所有页面的选定值?(如货币、语言),javascript,php,html,Javascript,Php,Html,假设站点有多个页面和多个内容。一些内容显示在网站上,我们使用下拉菜单更改内容和链接。我创建了select下拉列表来选择货币和语言,但每当我们从page1.php移动到page2.php时。这些下拉列表的值将更改。因此,每当访问者更改任何页面的下拉列表时。当他访问其他页面时,它应该保持不变 对于选择法语和欧元的访客来说,所有页面上的法语和欧元应该保持不变。他可以更新整个网站任何页面的下拉列表 与许多网站在其网页中具有货币选择选项类似,它在整个网站中保持不变,我们可以在任何页面上更改它,然后该货币成

假设站点有多个页面和多个内容。一些内容显示在网站上,我们使用下拉菜单更改内容和链接。我创建了select下拉列表来选择货币和语言,但每当我们从page1.php移动到page2.php时。这些下拉列表的值将更改。因此,每当访问者更改任何页面的下拉列表时。当他访问其他页面时,它应该保持不变

对于选择法语和欧元的访客来说,所有页面上的法语和欧元应该保持不变。他可以更新整个网站任何页面的下拉列表

与许多网站在其网页中具有货币选择选项类似,它在整个网站中保持不变,我们可以在任何页面上更改它,然后该货币成为所有页面的默认货币

我想用饼干。请告知如何做到这一点

$document.readyfunction{ var saveclass=null; 函数onChangeHandler{ const lang=document.querySelector'lang'。值; const currency=document.querySelector'currency'。值; var strLink=https://example.com/index.php?lang=+语言+&货币=+货币; document.queryselect'theButton'。setAttribute'href',strLink; } onChangeHandler; document.querySelector'lang'。addEventListener'change',onChangeHandler; document.querySelector'currency'。addEventListener'change',onChangeHandler; }; 文件 英语 法语 西班牙的 美元 欧元 MXN
您可以使用javascript的会话存储,当加载每个页面时,检查是否已保存值,如果已保存,则使用它。由于会话存储是一个键值对象,因此可以保存语言、货币和其他所需内容。如果您希望数据永不过期,请使用与此相同的本地存储

会话存储

本地存储

范例

$(document).ready(()=>{ 
//get data from the session storage when the page is loaded
 const selectedValue = sessionStorage.getItem('lang');
  //if one value was saved then use it, if not put your default value 
  $("#lang").val(selectedValue !== undefined ? selectedValue:'Default value');
  //when the selected option is changed, it puts the new value in the sessionStorage
  $( "#lang" ).change(function() {
            sessionStorage.setItem('lang', this.value);
        })
})

我知道,但是下一页将如何使用同一个cookie,并且它将自动更改下拉值。我想不出这一点。很抱歉,我刚刚开始编码。对于会话或本地存储,您不使用cookie。该值保存在导航器中,因此其他页面中会显示该值。然后,当您到达下一页时,您必须获取保存的值并使用该值修改下拉列表。您可以参考一些工作示例,其中下拉列表的值被带到下一页并在那里使用吗?我花了整整一天的时间来琢磨我的大脑,但我无法理解这一点。我只是在我的第一个答案中添加了一个例子