javascript - 下拉菜单可记住选择并重定向用户

标签 javascript redirect drop-down-menu

我正在制作一个带有下拉菜单的登陆页面,它将用户重定向到一个新目录。

http://steerbox.com/countryselect/

该部分正在工作,现在我需要添加代码以在选择国家/地区时设置 cookie,以便用户下次访问登陆页面时,他们将自动重定向到该国家/地区的目录,而无需从再次下拉菜单。

我发现jquery和javascript将在选择下拉菜单时设置cookie,但我似乎无法让下拉菜单既设置cookie又重定向用户。以下是我当前用于下拉和重定向的脚本:

<Script language="JavaScript">
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="goto(this.form)" SIZE="1">
<OPTION VALUE="">Select Country
<OPTION VALUE="chile">Chile
<OPTION VALUE="colombia">Colombia
<OPTION VALUE="bolivia">Bolivia
</select>
</FORM>

谢谢!院长

最佳答案

我同意yckart's comment并建议使用 localStorage。

支持非常好( shown here ),除非您需要支持 IE7 或更低版本,否则应该没问题。

您可以像这样设置和检索数据:

localStorage.varName = 'bling';
var myVal = localStorage.varName;
// or:
localStorage['a little more flexibility'] = 'bling';

要使用它,您可以执行以下操作:

<script type="text/javascript">
    if (localStorage && localStorage.country) {
        location = localStorage.country;    
    }

    function formChanged(form) {
        var val = form.options[form.selectedIndex].value;
        if (val !== 'non-value') {
          if (localStorage) {
            localStorage.country = val;
          }
          location = val;
        }
    }
</script>

<FORM NAME="form1">
  <select onchange="formChanged(this);" NAME="country" SIZE="1">
    <OPTION VALUE="non-value">Select Country
    <OPTION VALUE="chile">Chile
    <OPTION VALUE="colombia">Colombia
    <OPTION VALUE="bolivia">Bolivia
  </select>
</FORM>

http://jsfiddle.net/K4Jkc/

一种更保守的方法是在执行重定向之前将 localStorage 中存储的值(如果有的话)与选择列表中的选项进行比较,如以下 jsFiddle 所示:

http://jsfiddle.net/K4Jkc/1/

关于javascript - 下拉菜单可记住选择并重定向用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886793/

相关文章:

javascript - 如何在 HTML 标签中使用 REACTJS 和 Context

html - 如何更改 CSS 下拉菜单的宽度?

javascript - Sortable js none-jquery 插件对 div 进行排序,但不对表格进行排序

javascript - 在 headless 模式下针对 webkit 渲染引擎测试页面

redirect - Nginx 子域重定向到静态 URL

重定向支付网关magento2

javascript - 将多个下拉值附加到 URL

html - 在 CSS 中对齐下拉菜单

javascript - 将鼠标悬停在类 "thing"、 "bn1"、 "bn2"等上时编辑类 "bn3"的 css?

linux - 我不清楚一个重定向运算符,那就是 <<