0

如果有人可以提供帮助,将不胜感激!

我有一个 HTML 表单,其中包含您所在状态的下拉列表。

然后我有一个 JavaScript 函数来确定选择的状态,并相应地重定向用户。

  function pickstate()
{
        if(document.drop_list.State.value == "AR" ){
            document.drop_list.action = "www.theurl.com";
            document.drop_list.submit();
        }
}

我的问题是:我可以使用此方法(如果可以,如何)将状态传递给下一个表单,以便当用户被重定向时,下拉菜单会显示他们选择的状态。

我知道如何使用 PHP 和 POST 来做到这一点,但这不是发布,它只是根据状态重定向到正确的 URL,并且由于 20 个左右的状态将使用相同的形式,我不想让用户再次选择他们的状态。

我使用这种方法的原因不是每个人都会被重定向——许多状态会停留在第一次显示的表单上。这就是我不能使用 POST 的原因。

帮助!谢谢你。

4

2 回答 2

1

您可以将哈希添加到 URL

function pickstate()
{
    var stateVal = document.drop_list.State.value;
    switch(stateVal) {
      case "AR"
        document.drop_list.action = "www.theurl.com/#"+stateVal;
      break;
      case "IT"
        document.drop_list.action = "www.theurl.com/#"+stateVal;
      break;
    }

    document.drop_list.submit();
}

然后下一个表单可以通过使用传递的哈希来选择状态

window.location.hash; // eg. will be equal to #AR or #IT
于 2012-11-15T22:55:28.487 回答
0

您可以将值存储在本地存储中。

function pickState() {
    if (document.drop_list.State.value == "AR") {
        document.drop_list.action = "www.theurl.com";
        localStorage.setItem('selectedState', 'AR');
        document.drop_list.submit();
    }
}

然后添加另一个设置值的函数。

function setState() {
    var storedSelectedState = localStorage.getItem('selectedState');

    if (storedSelectedState) {
        document.drop_list.State.value = storedSelectedState;
    }
}
于 2012-11-15T22:44:54.257 回答