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 に答える