2012-07-05 55 views
0

可能重複:
Get query string values in JavaScriptJS - 提交表格的閱讀價值

如果一個提交一個GET形式,產生的地址看起來像www.example.com/stuff?param1=stuff&param2=morestuff。我知道如何在頁面上讀取/設置表單字段的值,但是如何使用JavaScript從前一頁(在URL中)讀取提交內容?我想我可以採取的URL和split()它,以獲取參數,但有沒有更快/更簡單的方法來讀取參數1(僅舉例)?

注意:這是不是重複的this,因爲這個問題是關於如何在PHP中做到這一點。

回答

0
function getQuerystring(key) 

{ 
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,\\\]); 

var regex = new RegExp("[\\?&]"+key+"=([^&#]*)"); 

var qs = regex.exec(window.location.href); 

if(qs != null) 
    return(qs[1]); 
else 
    return(""); 

} 
+0

讓我印象深刻,你和硫磺島如何讓幾乎相同的答案。基本上相同的功能,不使用'location.search'。 – MaxArt 2012-07-05 17:24:09

0

不,沒有簡單的方法來做到這一點。

使用這樣的事情:

var qstring = {}, src = location.search.substring(1).split("&"); 
for (var i = 0; i < src.length; i++) { 
    var parts = src[i].split("="); 
    qstring[unescape(parts[0])] = unescape(parts.slice(1).join("=")); 
} 

現在的對象是qstring查詢字符串的鍵/值映射。請記住,具有相同鍵的值將被覆蓋,因此您可能希望將它們存儲在索引數組中而不是關聯數組中。

0

我覺得this題目是回答你的問題。

function gup(name) 
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
    return ""; 
    else 
    return results[1]; 
} 

您也可以this one

0
+0

這就像用槍管殺死一隻蚊子...... – MaxArt 2012-07-05 17:22:33

+0

@MaxArt對不起,也許我很笨。但我不明白?!! – 2012-07-05 17:25:53

+0

這個插件做的不僅僅是分析查詢字符串。所以Bluefire會加載整個jQuery框架,加上那個插件,用於一堆代碼行的任務。重。 – MaxArt 2012-07-05 17:30:30