Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Okno-dziecko i jego przeładowanie
Forum PHP.pl > Forum > Po stronie przeglądarki
escaflowne
Witam!

Sytuacja przedstawia się następująco:
Jest sobie strona. Na tej stronie znajduje się przycisk (button). Po jego naciśnięciu wywoływana jest funkcja JavaScript, która otwiera okno-dziecko (nowe okno) i tworzy w nim obiekt (JavaScript) będący "adresem" okna-rodzica.
  1. <form name="dbbackup" method="POST">
  2. <input type="button" name="btn2" value="Pokaż pliki" onClick="javascript:okno();">
  3. </form>

Kod
function okno(){
    dziecko = window.open('pliki.php','lista_plikow','menubar=no, toolbar=no, status=no, resizable=yes, scrollbars=yes, width=650, height=400');
    if(dziecko.otwieracz == null){
  dziecko.otwieracz = self;
    }
}


Tak więc oto, w otwartym oknie (pliki.php) ląduje nowy obiekt (otwieracz).
W oknie-dziecku znajduje się sobie formularz. W formularzu są przyciski typu button. Po jego naciśnięciu następuje zapytanie, po czym (jeżeli odpowiedź będzie pozytywna) następuje wysłanie (submit) formularza. I tu tkwi problem. Po wysłaniu formularza, obiekt otwieracz zostaje utracony.
Pytanie: jak "zachować przy życiu" obiekt otwieracz po wysłaniu formularza w oknie-dziecku? Jest on mi potrzebny, żeby wysłać wartość z formularza okna-dziecka do formularza okna-rodzica.

PS. Mam nadzieje, że to tłumaczenie jest w miarę zrozumiałe. smile.gif

PS2. A może rozwiązaniem jest coś takiego: okno-rodzic otwiera okno-dziecko. Wysłanie formularza w oknie-dziecku powoduje otwarcie malutkiego okna-wnuka, które wykonuje działanie na podstawie danych z formularza okna-dziecka (czyli adresem okna-wnuka jest np. skrypt.php?zmienna=dane&innazmienna=innedane). Po wykonaniu działań, okno-wnuk samo się zamyka. I w ten sposób okno-dziecko się nie przeładowuje (obiekt otwieracz pozostaje nienaruszony) a samo działanie (wykonywane przez skrypt php jest wykonywane)?
FiDO
Przeciez masz obiekt window.opener, ktory wskazuje na okno, z ktorego zostal otwarty popup, wiec nie musisz sobie tego recznie przechowywac.
escaflowne
Cytat(FiDO)
Przeciez masz obiekt window.opener, ktory wskazuje na okno, z ktorego zostal otwarty popup, wiec nie musisz sobie tego recznie przechowywac.

Hmmm... On tym nie wiedziałem. Nie omieszkam jutro wypróbować i poinformować o rezultatach smile.gif

Update: spieszę donieść, że działa. Bardzo dziękuję smile.gif
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.