Hogyan tudnám megkapni egy link href értékében lévő GET paraméter értékét jQueryben?
Remélem jól fogalmaztam. Nem a böngésző címsorából mert ott nem szerepel (és arra mondjuk találtam függvényt mintakódot), hanem egy linkre kattintva aminek van GET paraméter és azt mondjuk eltárolni egy változóban.
Jól gondolom hogy itt karakterláncokkal kell játszadozni?
Hát a GET az eléggé szerveroldali téma. Attól függ mit értünk vagy (pontosabban) mit definiálunk annak.
Ezt a definíciót a szerveroldali (index.php/html/phtml...) mellet lévő .htaccess-el (is meg) lehet megtenni.
Alapértelmezés szerint minden GET ami a ?key1=value1&key2=value2
Csak egyes oldalak olyan beállítási módot használnak, mint domain/controller/action/parameter... aminek ugye bár klasszikus GET értéke nincsen. SŐT! Ha szerepelne is az egészet nem is úgy kezeli le. Ennek tartalmazását a $_SERVER tömbben láthatod, hogy hogyan tárolja.
Szóval jQuery (vagyis javascriptel, mert jQuery is lényegében az, így) string kezelés marad, azaz magadnak kell kiszűrni, hogy mi kell neked.
!Vagy úgy generálod PHP-val az outputot, hogy javascript változó értékadásakor már az az érték szerepeljen, így nem kell szórakozni a cliens oldali js string kezeléssel. (Persze ilyenkor a forráskódban is látszik, ha megnyitják az oldal html/js/css forrását.)
Attól füg, hogy mikor szeretnéd kinyerni a paraméter értékét. Ha a link meghívása után, akkor egyszerű dolgod van, Egy echo-val kiírod egy javascript változóba a $_GET változó értékét. Pl.:
<?php
echo '<script> var valtozo = '.$_GET["valtozo"].'; </script>';
Ha még a link elküldése (vagyis az új oldal betöltése és a paraméter elküldése előtt) akarod kinyerni az adatot, akkor a megnyomott anchor tag-re kell ráhúznod valamilyen eseményt, és kinyerni a href értékének szöveges részéből az adatot. Hogy a javascriptnek legyen ideje elvégezni a változóval a műveletet (bármit is akarsz vele tenni), a default működését az anchor tagnak ilyenkor preventálni kell, különben a link elküldődik, az oldal újratölt, és elveszted a javascript feletti kontrollt ( event.preventDefault(); ).
Ez utóbbi megoldásnál egyszerűbb, ha a linkhez beépítesz egy vagy több data-valtozo = "x" értéket, azokat könnyebb kinyerni javascripttel, mint a href értékét szétvagdalni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!