Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: linki i zmienne
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Snoopy
dobra... chodzi mi o takie cos. chce przeslac wartosc zmiennej ale po kliknieciu w link. jednak musi to wygladac tak zeby uzytkownik nie mogl sobie dopisac wartosci w linku. bo to by byl wielki bug. Czy da sie zrobic jakis link ktory by wysylal zmienna jak POST?

moze ktos pomyslec zeby zrobic link plik.php?id=1 a w pliku docelowym if id=1 to zmienna=wartosc. ale to tez mnie nie urzadza bo jak wpisze to '1' to wyjdzie na to samo.
revyag
A skąd bierzesz wartość tej zmiennej ? Kiedy do niej coś przypisujesz ? Bo możesz to zrobić tworząc formularz z polem hidden i submitować go klikając w linka, a na docelowej stronie pobierać zmienną z $_POST.
Snoopy
wiec mam obrazek a w nim <area><map coor='xx.xx.xx.xx' href='xx.xxx?zmienna=wartosc'></map> (jakos tak... wiadomo o co chodzi> no i jak klikniesz na to, to przesle zmienna wartosc ale ją widać w linku, a tego wlasnie nie chce
revyag
Można to zrobić tak:
Najpierw malutka funkcyjka smile.gif
Kod
<script type="text/javascript">
function clk(mx,my) {
    document.getElementById("x").value = mx;
    document.getElementById("y").value = my;
    document.getElementById("mapform").submit();
}
</script>


Dodajesz formularz poza mapą.
  1. <area><map coor='xx.xx.xx.xx' href='xx.xxx' onclick="clk(wspx,wspy)"></map>
  2. <form name="mapform" id="mapform" action="urlcode.php" method="post">
  3. <input id="x" name="x" type="hidden" />
  4. <input id="y" name="y" type="hidden" />
  5. </form>


Po kliknięciu do pól hidden są wstawiane koordynaty, a potem formularz jest submitowany.

Nie mam pod ręką żadnej mapy z obrazkami, więc nie wiem czy zachowa się tak samo jak dla samego obrazka, dla którego to rozwiązanie działa.

---
ponieważ temat z php ma mało wspólnego, przenoszę:
php początujący ---> po stronie przeglądarki-> javascript
Snoopy
kurcze, jeszcze mala prosba... czy moglbys mi opisac dzialanie tego skryptu linijka po linijce bo z javą to nigdy stycznosci nie mialem

__
Java <> JavaScript [scanner]
revyag
Dwie pierwsze linijki przypisują polom hidden od id x i y wartości, które przekazywane są jako paramtery, czyli współrzędne. Te wartości podajesz gdy wywołujesz funkcję w zdarzeniu onclick w area map.
Trzecia linijka powowduje że formularz zostanie wysłany, działa to tak jakbyś miał przycisk submit w formularzu i go kliknął.
Jak wyślesz formularz to w $_POST["x"] i $_POST["y"] masz interesujące Cię wartości.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.