2012-07-05 41 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