Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zwrócenie wartości przez okienko
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
TomASS
witajcie - próbuję pobrać wartość z okienka:
  1. var szURL = showModalDialog('PopUpUpload.html','','dialogWidth: 800; dia.....


okienko zwaraca wartość:
  1. window.returnValue='wartosc';
  2. window.close();


niestety z tego co czytałem pod Operą nie ma showModalDialog :/
Czy ktoś obszedł ten problem?

Znalazłem coś takiego ale niestety nie wiem jak tego użyć :/

może jest jakieś inne / prostsze rozwiązanie ?

okienko nie musi być modalne (wystarczy aby było i zwracało wartość)
Sephirus
Ciężka sprawa - opera tego na pewno nie wspiera - ewentualnie z koniecznością potwierdzenia przez usera albo zmianą w configu ;/ Zawsze możesz pokombinować z akcją typu:

jeżeli okienko jest otwarte i zrobi się cokolwiek w głównym (kliknie, przewinie itp) to wraca do otwartego okienka (focus).
TomASS
bardziej chodzi mi o zwrócenie wartości niż jego modalność.
Sephirus
Ale nie widzę tego ;P Co to ma robić mniej-więcej co ma zwracać. Najlepiej jest w tym otwartym okienku po zakończeniu jakichś tam operacji po prostu wywołać jakąś funkcję z okienka-rodzica (window.opener) i zamknąć okienko - nie czuje za bardzo co chce uzyskać :/

Ok ogólnie to robi się to tak:

[JAVASCRIPT] pobierz, plaintext
  1. var x = window.open('ADRES_URL',nazwa_okienka[,parametry]);
[JAVASCRIPT] pobierz, plaintext


To wywołujemy w głównym okienku i otwieramy nowe.

[JAVASCRIPT] pobierz, plaintext
  1. window.opener.funkcja(wynik_jakiejs_operacji);
  2. window.close();
[JAVASCRIPT] pobierz, plaintext


To wywołujemy w otwartym okienku (dziecku) po wykonaniu jakichś operacji wywołujemy funkcję z głównego okna i zamykamy dziecko. W funkcji przekazujemy wartość z okienka otwartego do głównego.
TomASS
mam kod w rodzicu, który powinien otrzymać nazwę pliku z okienka rodzica:
  1. exec : function()
  2. {
  3. var szURLtmp = showModalDialog('PopUpUpload.html','','dialogWidth: 800; dialogHeight: 400; center:yes; resizable:
  4. .......
  5. }


tak jak napisałeś, to :
  1. var x = window.open('ADRES_URL',nazwa_okienka[,parametry]);

x zostanie zwrócone nam w momencie utworzenia okna [object.window]

w przykładzie powyżej mam w zmiennej wartość która jest "window.returnValue" i przekazywana dopiero w momencie zamknięcia oka. Tylko showModalDialog nie działa pod operą :/
Sephirus
No ja rozumiem ale można to zamienić na tą wersję co napisałem.

To nie X masz odczytać tylko przy zamykaniu okienka (nie wiem na przykład przy podaniu nazwy pliku) odwołujesz się do jakiejś wcześniej zapisane funkcji z głównego okna tak jak pisałem w poprzednim poście przy pomocy "opener". Musiałbyś podzielić tą swoją funkcję na dwie - pierwsza otwierałaby tylko okienko, druga w argumencie przyjmowała by tą nazwę pliku i szła dalej.

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.