2012-02-29 17 views
10

Non riesco a trovare alcuna documentazione dettagliata su getParameterByName(). Ho cercato Mozilla, Google e qui. Mi sto perdendo qualcosa?Documentazione Javascript su getParameterByName?

+4

Dove hai trovato un tale metodo? Cosa dovrebbe fare? –

+0

È una funzione e ho letto male. Stavo cercando di vedere come raccogliere informazioni da una stringa di query. – Dandy

+0

Forse cercavi 'getElementsByTagName' o il metodo DOMElement' getAttribute' – silly

risposta

5

Non esiste una funzione incorporata con questo nome.

Dai un'occhiata allo How can I get query string values in JavaScript? - forse questa è la funzione che stai cercando. Restituisce il parametro querystring con un nome specifico.

+0

Wow ... questo è quello che stavo cercando di ottenere maggiori informazioni su. Ho appena letto male. Grazie per la risposta rapida! – Dandy

0

perché non esiste. Penso che tu voglia guardare: getElementsByTagName? se non fornisci maggiori informazioni su quale tipo di metodo cerchi

9

Usiamo questo dove lavoro. Simile alla soluzione di ThiefMaster ...

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 - stava lavorando su codice ereditato, trovato questa funzione e stava cercando su quello che era ... ricondotto a voi. Quindi ecco i tuoi punti di rep :-) – jmadsen

2

È necessario aggiungere la convalida del nome non è null/undefined

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]; 
    } 

}