2012-07-05 2 views
0

가능한 중복은 :
Get query string values in JavaScriptJS - 제출 양식의 읽기 값은

하나는 GET 양식을 제출하면 결과 주소는 www.example.com/stuff?param1=stuff&param2=morestuff처럼 보일 것입니다. 페이지의 양식 필드 값을 읽거나 설정하는 방법은 알고 있지만 JavaScript로 이전 페이지 (URL)에서 제출물을 읽는 방법은 무엇입니까? 내가 매개 변수를 얻으려면 URL을 가지고 split() 걸릴 수 있다고 생각하지만 거기에 param1 (그냥 예를) 읽을 수있는 더 빠르고/간단한 방법은 무엇입니까?

참고 : 이것은 이 아니며 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

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

+0

@MaxArt 실례 합니다만, 어쩌면 내가 바보예요. 하지만 이해가 안되니? !! –

+0

해당 플러그인은 쿼리 문자열을 구문 분석하는 것보다 훨씬 많은 작업을 수행합니다. 그래서 Bluefire는 일련의 코드 라인 작업을 위해 전체 jQuery 프레임 워크와 그 플러그인을로드합니다. 무거운. – MaxArt

관련 문제