簡體   English   中英

通過Javascript操作傳遞變量

[英]Passing variable with Javascript action

如果有人可以幫助您,將不勝感激!

我有一個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的原因。

救命! 謝謝。

您可以將哈希添加到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

您可以將值存儲在本地存儲中。

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM