Javascript ist Toll!

12. September 2006 - 20:32

$_GET für Javascript

Wird mal wieder Zeit für ein bisschen Javascript. Da ständig Lösungen von Fragen in Foren bei mir auflaufen, hier eine, um die GET Parameter mit Javascript abzufragen.

Gefragt war, ob es ein JS Äquivalent für die PHP Funktion $_GET() gibt. Nativ gibt es keine, aber ich hab mal eine geschrieben.

Syntax

Die Syntax lautet:

$_GET([name]);

name ist der Name des Parameters, wird name weggelassen, gibt die Funktion alle Parameter in Form eines Objektes zurück.

Hinweis!
Die Funktion versagt, wenn mehrere Parameter mit dem gleichen Namen (z.b. bei Mehrfachauswahl eines Auswahlfeldes oder bei einer checkbox group) übermittelt wurden. In dem Falle wird immer nur der letzte Wert zurück gegeben.

Beispiel

Param_1
Param_2
Param_3
Param_4

Quellcode

(function(){
    var s = window.location.search.substring(1).split('&');
    if(!s.length) return;
    var c = {};
    for(var i  = 0; i < s.length; i++)  {
        var parts = s[i].split('=');
        c[unescape(parts[0])] = unescape(parts[1]);
    }
    window.$_GET = function(name){return name ? c[name] : c;}
}())

Nachtrag

OK. Es ist keine Funktion. Wer lieber mit einem globalen Array arbeitet, kann das Skript in leicht geänderter Form verwenden:

(function(){
    var s = window.location.search.substring(1).split('&');
    if(!s.length) return;
    window.$_GET = {};
    for(var i  = 0; i < s.length; i++) {
        var parts = s[i].split('=');
        window.$_GET[unescape(parts[0])] = unescape(parts[1]);
    }
}())

Jetzt hat man im Skript Zugriff auf jeden GET Parameter über das Objekt $_GET['name'].

ähnliche Artikel

  • 27. October 2012 -- Tween Beispiele (0)

    Das Tween Objekt Ich vertiefe hier noch einmal die...

  • 22. June 2012 -- Tween(2) (0)

    Die Technik um mit Javascript eine Bewegung zu animieren...

  • 15. June 2012 -- Wordpress und Javascript (2)

    In der letzten Zeit durfte ich mich etwas intensiver...

Comments (16)
1609 mal gelesen.

16 Kommentare

Leave a comment »

Seiten:

1. Comment von: Michael H.
27. September 2006: 10:21

es gibt in PHP kein $_GET(), das wäre nämlich eine Funktion. Bitte die runden Klammern weglassen, dann stimmt es ($_GET ist wie $_POST, $_SESSION,… ein superglobales ARRAY).
äbrigens wärde ich in JS mit $ aufpassen, viele Leute benutzen in der Zwischenzeit Prototype, dort ist $() eine Funktion, gibt also leicht Verwirrung…

2. Comment von: Templaterie Blog
2. February 2008: 5:56

[…] Das PHP $_GET[’var’] und das Javascript-Equivalent / Javascript: replace() so wohl nicht Silke Schümann wrote this 05:56:Die Funktion, die ich bei struppi aka J. Strübig gefunden habe, zählt sicherlich zu den Dingen, die man sich in seine Library einverleiben sollte: javascript.jstruebig.de: $_GET für Javascript […]

3. Comment von: olaf
13. June 2008: 17:33

also das skript ist schon komplett es hats nur falsch kopiert.

aber die zuweisung für die nachfolgende aktion ist wohl falsch:

$_GET[‘id’] = $id;
if ($id == ‘1’)
flash(http://www.choiz.extra.hu/Games/roulette.swf);
else
return false;

ich will je nach id ein bestimmtes video abspielen, also geb ich den videos ids und starte dann durch ein skript eine andere javafunktion mit der zielurl !?!?

4. Comment von: olaf
13. June 2008: 17:30

hi, ich kriege das skirpt einfach nicht zum laufen.
kannst du das nciht ein bisschen genauer beschreiben wie ich dadurch ids auslesen ?

ich versteh auch nicht was dievielen runden klammern sollen, ich habs so versucht:

function()

{

var s = window.location.search.substring(1).split(‘&’);

if(!s.length) return;

window.$_GET = {};

for(var i = 0; i
$_GET[‘id’] = $id;
if ($id == ‘1’)
flash(http://xxx/Games/roulette.swf);
else
return false;

was ist falsch?
danke

5. Comment von: christian
15. October 2008: 11:48

so gehts – aufruf erfolgt bspw. mit
–a href=’dateiname.php?anzeige=3′–

(function()
{
var s = window.location.search.substring(1).split(‘&’);
if(!s.length) return;
window.$_GET = {};
for(var i = 0; i < s.length; i++)
{
var parts = s[i].split(‘=’);
window.$_GET[unescape(parts[0])] = unescape(parts[1]);
}
}())

window.addEvent(‘domready’, function() {
var anzeige = $_GET[‘anzeige’]; // holt die Variable ‘anzeige’ aus der URL (GET-Parameter)
if (!anzeige) { anzeige = “0”; } // setzt ‘anzeige’ auf 0, falls ‘anzeige’ nicht existiert

//create our Accordion instance

var myAccordion = new Accordion($(‘accordion’), ‘h3.toggler’, ‘div.element’, {
opacity: false,
display: anzeige, // oeffnet das Element, das durch ‘anzeige’ gewaehlt wurde
onActive: function(toggler, element){
toggler.setStyle(‘background’, ‘#fff url(bilder/pfeil.gif) no-repeat center right’);
},
onBackground: function(toggler, element){
toggler.setStyle(‘background’, ‘#eee url(bilder/pfeil.gif) no-repeat center right’);
}
});

});

6. Comment von: lars
16. June 2009: 21:44

Eine fantastische Funktion.
Danke für diesen tollen Beitrag!

7. Comment von: cambridge
18. July 2009: 22:50

Hallo,

kann die Variable auch anders verwendet werden

var anzeige = $_GET[‘anzeige’];
document.write (anzeige);

8. Comment von: Struppi
18. July 2009: 22:56

Ja.

9. Pingback von: Javascript - Bilder anzeigen - html.de Forum - HTML f
24. August 2009: 16:20

[…] teilweise gleich(also mit einer GET Variable), jedoch w

10. Comment von: Gilles
24. August 2009: 16:24

Mal wieder eine tolle Funktion. Vielen Dank =)

11. Comment von: Imbericle
24. August 2009: 17:51

Das Turtorial ist gut, nur für jemanden der nicht schon absolut perfekt in php javascript und cgi ist es sicherlich schwer,
für jemanden der grad halb beides kann ist es gift
und für mich als mittel ding von beiden war es nicht einfach es zu verstehen.

Mach das doch noch ausführlicher, mit noch tiefergehenderen sinnvollereren Beispielen.

Je mehr praktisch man ein Beispiel anwenden kann desto besser, das oben ist ein sehr kurzes, mit viel zu wenig erklärungen

MfG

12. Comment von: Struppi
24. August 2009: 20:54

Ich weiß selber nicht wofür man sowas braucht. Wie ich schon schrieb es ist eine Fragestellung, die öfters in Foren auftaucht.

13. Comment von: Malcolm
15. January 2010: 9:39

Hi Struppi,

Danke für dieses Script.
Wofür man es nutzen kann ist, Bspw. wenn man eine Pagination Dynamisch mit Javascript erzeugt, kann man mit hilfe der GET_Parameter die Aktuelle Seite “entlinken”, also das a-Element durch etwas geeigneteres austauschen.

var jsliste = '';
for (i = 1; i < 15; i++) 
  jsliste += ($_GET['site'] == i) 
           ? ''+i+'' 
           : ''+i+'' ;

Gibt sicherlich Elegantere Methoden, aber mir genügt das.

MfG

[…] […]

15. Comment von: patrick
12. June 2013: 23:36

hey ich komm überhaupt nicht weiter, und zwar möchte ich die übergebende GET in ein ausführen aber in der test datei kommt nur undefindet an !! was kann ich machen :)

16. Comment von: patrick
12. June 2013: 23:38

er hat das nicht übernommen :D

iframe src=”test.php?test=1

Leave a comment

Name (required)
Mail (wird nicht angezeigt) (required)
Website

Folgende HTML Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot kostenloser Counter Browser-Statistiken
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful