1

これはあまり複雑にすることはできませんが、私を困惑させています-URL(www.site.com/index.html?var=whatever.htm)を介して変数を渡し、onclick関数内で変数を使用して、 onclick ボタンは変数を url として使用して to..onclick に移動します。

ボタンはフレーム内にあり、他のフレームをクリックすると実際の履歴が変わるため、履歴ボタンの代わりにこれを実行しようとしています。

を試してみ<input value="Go Back" onclick="parent.location(var)" type="button">ましたが、JavaScript にその変数を認識させる方法が明らかに欠けています。

助けてくれてありがとう。

4

4 に答える 4

1

使ってはいけない

parent.location = var?

于 2009-09-14T20:04:08.463 に答える
1

document.location.searchクエリ文字列にアクセスするには、を使用する必要があります。次に、変数の値についてその文字列を解析する必要があります。

onclick ハンドラーでdocument.locationは、変数の値を設定する必要があります。

HTML 要素でインライン化するのではなく、ページの読み込み時にクリック ハンドラーを追加することをお勧めします。

window.onload = function () {
    document.getElementById("go").onclick = function () {
        var tokens = /\bvar=([^&]+)/.exec(document.location.search);

        if (tokens) {
            document.location = decodeURIComponent(tokens[1]);
        }
    };
};

編集:クエリ文字列を解析するためのより一般的なメカニズムについては、これを試してください: http://gist.github.com/143101

于 2009-09-14T19:46:23.090 に答える
0

あなたは次のようなことを試しましたか

<script type="text/javascript">
   var url = "http://gohere.com";
</script>
<input value="Go Back" onclick="document.location(url)" type="button" />

また、「戻る」場所がすでに設定されている、呼び出す一般的な関数を使用することもできます。

<script type="text/javascript">
  function goBack(url){
    document.location(url);
  }
</script>

その場合、何らかの方法でurl変数を設定する必要があります。考え方は同じです。

于 2009-09-14T19:48:51.027 に答える
0

URL からの変数へのアクセス: まず、URL パラメーターに自動的にアクセスする方法はありません。したがって、URL を 3 つのグループに分割する必要があります。

http://www.someurl.com/doSomeThing?one=1&two=2

1 = 1 と 2 = 2 の部分を取得する必要があります。これには正規表現でアクセスできます。

  var regexString = "[\\?&]var=([^&#]*)";
  var regex = new RegExp( regexString );
  var results = regex.exec( window.location.href );

結果が配列で、最初の要素が値になる場合。

window.location=results[1];

よろしく、ジシュヌ

于 2009-09-14T20:22:08.290 に答える