Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przekazanie wartosci, zamkniecie i refresh okna
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
trucksweb
mam problem,
w sumie to mam strone do ktorej laduje dane na podstawie id uzytkownika, ktore wczytuje z popupa- tego wywoluje po klikniecu w linka:
  1. <a href=\"popup.php?akcja=wybierz_kontrahenta\" onclick=\"window.open('popup.php?akcja=wybierz_kontrahenta', 'Wybierz Kontrahenta', 'menubar=no,toolbar=no,location=no,directories=no,status=no,fullscreen=no,cha
  2. nelmode=no,width=770,height=300').focus(); return false\" class=\"button\">Wybierz</a>


w pop upie laduje dane w postaci tabeli, przy kazdym wierszu jest link, ktory zawiera wlasciwe id wiersza. po kliknieciu w tego linka chce: zamknac popupa i odswiezyc index.php przekazujac wartosc id- id wiersza z ktorego link zostal klikniety.

  1. <a href=\"index.php?akcja=dodaj&id='. $row[id] .'\" onClick=\"window.opener.location.reload();window.close();\" class=\"button\">Wybierz</a>


mozna cos takiego zrobic ?
slammer
Kod
odswiez = function(url) {
    reg = /id=(\d+)/;
    reg.test(url)
    alert(RegExp.$1) //zwraca 51
}
odswiez('index.php?akcja=dodaj&id=51');


zastosowanie:
Kod
<script>
odswiez = function(url) {
    reg = /id=(\d+)/;
    reg.test(url)
    location.href = "index.php?akcja=dodaj&id="+RegExp.$1;
}
</script>

<a href=\"index.php?akcja=dodaj&id='. $row[id] .'\" onClick=\"odswiez(this.href); window.close();\" class=\"button\">Wybierz</a>


pisane z buta więc nie wiem czy zadziała, ale coś w tym stylu powinno byc tongue.gif
trucksweb
dzieki, ale cos nie bardzo to dziala. niestety jestem slaby w js i nie wiem w czym twki problem.

ID jest pobierane do adresu, ale nie odswieza strony z ktorej popup zostal otwarty i nie dodaje id do adresu tej strony sad.gif
slammer
może zamień:
Kod
location.href = "index.php?akcja=dodaj&id="+RegExp.$1;

na:
Kod
window.opener.location.href = "index.php?akcja=dodaj&id="+RegExp.$1;
trucksweb
super dziala smile.gif
dawalem window.opener bezposrednio do onClick blinksmiley.gif

ps.
moglbys mi wytlumaczyc jak to dziala i do czego sa ?:
  1. reg = /id=(\d+)/;
  2. reg.test(url)
lopik
Obiekty:RegExp

O to chodzi ?
slammer
Jest to wyrażenie regularne biggrin.gif pobiera z ciągu kawałek zaczynając się od "id=" i wstawia do grupy jedno lub więcej wystąpień (znak +) dowolnego znaku liczbowego (czyli \d). Do grupy można się odwołać przez $1 i każdą grupą jest kawałek wstawiony w nawiasy.

reg.test(url) zwraca poprostu wartość true lub false w zależności czy wyrażenie pasuje do ciągu.

RegExp jest to obiekt javascriptu
trucksweb
wstydnis.gif
ok, wielkie dzieki wszystkim.

jeszcze mam pytanie,

zalozmy ze mam juz w adresie $id=10
teraz otwieram drugiego popupa, z taka sama metoda, jak przekazac teraz do adresu kolejna zmienna, zeby nie stracic tej poprzedniej? (ciagle mi kasuje stara zmienna, nie wazne jakie zmiany wprowadze np. odswiez2 zamiast odswiez, id_prod zamiast id)

w skroce po dwoch wywolaniach chce zeby adres wygladal tak:

strona.php?akcja=dodaj&id=10&id_prod=33

da sie cos takiego ?

////edit

guitar.gif
jestem dumny z siebie, po 4h doszedlem do rozwiazania, ktore mnie interesowalo i pieknie smiga smile.gif
nie trzeba wcale pisac nowych fukncji do przekazywania zmiennych miedzy popupami a strona matka.
wystarczy cos takiego w drugim popupie(gdy w adresie juz siedzi zmienna)

  1. echo"<a href=\"?akcja=dodaj_fakture&id_prod=$row[id]\" onClick=\"opener.location=opener.location+'&id_prod='+{$row[id]}; window.close()\"class=\"button\">Wybierz</a></td></tr>";
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.