2011-12-15 2 views
0

나는 동적 요소가 내 페이지에 URL을 ... JQuery와 변경 HREF의 URL의 일부에 의해

<a class="TOPHEADING" href="/CRM/eware.dll/SessionFind?&Act=200&CLk=T&Key0=1&Key1=2" target="EWARE_MID"> 

은 즉 키 1 및쪽에 KEY0 값이 나는 다음과 같은 코드로 HREF을 수다 싶습니다이 ...

var strPath = document.URL; 
var arrayApp = strPath.split("&Act"); 
var strStartPath = arrayApp[0]+GetKeys()+"&Act=432"+"&dotnetdll=Customs&dotnetfunc=RunCompanySummary"; 
document.location.href= strStartPath; 

새로운 링크는 strStartPath 변수에 보관됩니다.

기본적으로 배치 된 href를 페이지로드시 strStartPath 변수로 대체해야합니다.

JQuery에서 가능한가요?

+1

은 무엇입니까? – Evan

+0

@ 에반 편집 죄송합니다 –

+0

http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript – karim79

답변

2

"매우 복잡해 보입니다"? 정말 쉽습니다.이 코드를 깨뜨리 자.

function getParameterByName(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 decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

이 함수는 "name"매개 변수 하나를 가져옵니다. 첫 번째 2 줄은 정규식이고, 세 번째 줄은 새 정규식 개체를 정의합니다. 네 번째 줄은 정규 표현식을 출력합니다. 현재 페이지의 URL 인 "window.location.hre"에서 조건은 현재 url에 표현식의 결과가 있는지 여부를 확인합니다.

Basicly, 당신의 요구에 :

<a href="http:/www.bla.com/g.php?key0=11212&key1=2222&bla=wewe" id="link1"> 

<script> 
var link = document.getElementById("link1"); 
var url = link.href; 
var keyZeroValue = getParametersByname("key0" , url); 
var keyOneValue = getParametersByname("key1" , url); 

function getParameterByName(name,url) 
{ 

    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + name + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(url); 
    if(results == null) 
    return ""; 
    else 
    return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

이 작업을 수행해야합니다.