0

私は現在、そのURLがhttp://localhost:49852/Default.aspx?MID=17

このページには次のコードがあります

<a href="Configure.aspx"><span class="ico gray shadow gear"></span>Configure</a>

ユーザーがリンクをクリックするとConfigure、URLのMIDパラメーターがトリミングされ、ユーザーはにリダイレクトされます。

http://localhost:49852/Configure.aspx?MID=17

これはJSコードです

function getParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)')
            .exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

どうすればすべてをまとめることができますか?

4

3 に答える 3

3

まず、次のように簡単にアクセスできるように、hrefにIDを指定する必要があると思います。

<a href="Configure.aspx" id="configure"><span class="ico gray shadow gear"></span>Configure</a>

次に、次のコマンドでプロパティを変更できるはずです。

$(function() {
    var href = $("#configure").attr("href");
    $("#configure").attr("href", href + getParameterByName("MID"))
});

これにより、実際のhrefが変更されます。クリックメソッドを簡単にオーバーライドすることもできますが、configureリンクからすべてのリンクなどに変更する場合は、より拡張性が高くなる可能性があります。

于 2012-11-14T14:20:28.603 に答える
0

要素にクリックイベントリスナーをアタッチし、クリックするwindow.locationと、リダイレクトを実行するように変更できます。このようなもの:

$(function () {
   // You might need to use a better selector here, 
   // add an ID to the span element and select on that instead
   $("span.ico").on("click", function () {
      window.location.href = "Configure.aspx?MID=" + getParameterByName("MID");
      return false;
   });
});
于 2012-11-14T14:21:11.733 に答える
0

JavaScriptのクエリ文字列の解析で説明されているように、この優れた関数を使用してQueryStringからMIDを解析し、それを使用 して新しいURLを構築できます。

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (decodeURIComponent(pair[0]) == variable) {
            return decodeURIComponent(pair[1]);
        }
    }
    console.log('Query variable %s not found', variable);
}

お気に入り ;

var mid = getQueryVariable(MID);
var url = 'http://localhost:49852/Configure.aspx?MID='+mid;
location.href=url;
于 2012-11-14T14:24:40.793 に答える