2012-02-29 7 views
10

Nie mogę znaleźć żadnej szczegółowej dokumentacji dotyczącej metody getParameterByName(). Szukałem Mozilli, Google i tutaj. Czy czegoś brakuje?Dokumentacja JavaScript na getParameterByName?

+4

Gdzie znaleźć takie metody? Co ma robić? –

+0

To funkcja i źle ją odczytałem. Próbowałem zobaczyć, jak zbierać informacje z ciągu zapytania. – Dandy

+0

nie znaczy 'getElementsByTagName' lub metoda DOMElement' getAttribute' – silly

Odpowiedz

5

Nie ma wbudowanej funkcji o tej nazwie.

Ale spójrz na How can I get query string values in JavaScript? - może to funkcja, której szukasz. Zwraca parametr zapytania o podaną nazwę.

+0

Wow ... właśnie tego chciałem uzyskać więcej informacji. Po prostu źle to odczytałem. Dziękuję za szybką odpowiedź! – Dandy

0

ponieważ nie istnieje. Myślę, że chcesz spojrzeć na: getElementsByTagName? jeśli nie, podaj więcej informacji o tym, jakiego rodzaju metody wyszukujesz:

9

Używamy tego, gdzie pracuję. Podobny do rozwiązania ThiefMaster za ...

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, " ")); 
} 
+1

LOL - pracowała nad odziedziczonym kodem, znalazła tę funkcję i szukała tego, co to było ... odszukała go z powrotem. Oto twoje punkty rep :-) – jmadsen

2

Trzeba dodać sprawdzania poprawności nazwy nie jest null/niezdefiniowany

function getParameterByName(name) { 
    if (name !== "" && name !== null && name != undefined) { 
     name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
     var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
      results = regex.exec(location.search); 
     return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
    } else { 
     var arr = location.href.split("/"); 
     return arr[arr.length - 1]; 
    } 

}