2012-11-14 36 views
0

採取的參數名稱我目前在一個頁面,其網址爲http://localhost:49852/Default.aspx?MID=17JS如何從URL

在此頁面中我有以下代碼

<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, ' ')); 
} 

我該如何將它們綁定在一起?

回答

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 。你也許可以簡單地重寫click方法,但是如果你想從配置鏈接改變爲所有鏈接或者其他東西,這可能會更具可擴展性。

+0

乾淨!會喜歡這種方法。 – f0x

+0

比在我的示例中使用點擊事件偵聽器更清潔的解決方案+1 –

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

你可以從這個漂亮的功能 QUERYSTRING解析MID作爲Parse query string in JavaScript 解釋,並建立一個新的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); 
} 

like;

var mid = getQueryVariable(MID); 
var url = 'http://localhost:49852/Configure.aspx?MID='+mid; 
location.href=url;