Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zamykanie okna jakiego jeszcze nie było :)
webtg
post 9.06.2005, 13:07:47
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 28.12.2004
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Witam!

Mam taki problem,
Przy łądowaniu pliku ślicznie otwiera mi się okinko z informacją, że plik jest ładowany, problem tylko jak je zamknąć.

Chciałbym je zamknąć drugim plikiem - nie bardzo chce mi działać wskazanie pliku ani jego okno. Gónie brak pomysłu.

Zasda jest prosta:
form.php otwiera a add.php zamyka

Z JS u mnie kiepsko więc zwracam się do eksertów. Poradzicie coś ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
NoiseMc
post 9.06.2005, 13:30:01
Post #2





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


W otwieranym oknie dajesz:

  1. <title>Trwa przesyłanie zdjęcia</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  3. <link href="css/style.css" rel="stylesheet" type="text/css">
  4. <script language="javascript">
  5. function zamknijSie(){
  6. if(window.opener.document.getElementById('poPrzeslaniu').value != ''){
  7. window.close();
  8. }
  9. setTimeout("zamknijSie()",30);
  10. }
  11. </head>
  12. <body onLoad="zamknijSie()">
  13. <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  14. <tr valign="middle">
  15. <td align="center"><img src="przesylanie.gif" width="120" height="45"></td>
  16. </tr>
  17. </body>
  18. </html>


Robisz formularz z polem pliku -> przy nacisnięciu na przycisk "wyślij" odpalasz popup z w/w kodem.
Po przesłaniu pliku umieszczasz w oknie otwierającym np. komunikat, że plik został przesłany oraz gdzieś w kodzie html:

  1. <input type="hidden" name="poPrzeslaniu" id="poPrzeslaniu" value="true">


Popup sprawdza sobie co jakiś czas (chyba 30 milisekund nie pamiętam) czy w otwierającym go dokumencie jest obiekt o ID: poPrzeslaniu i jeżeli go znajdzie to się zamyka biggrin.gif


--------------------
Go to the top of the page
+Quote Post
webtg
post 9.06.2005, 19:11:31
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 28.12.2004
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Propozycja ciekawa, ale coś za szybko zamyka się to okno, żeby nie powiedzieć że w momencie smile.gif

Przetestowałeś to u siebie ?

Coś to zamykanie za szybko działa, może jakoś to dopracujesz ? Będę Twoim dłużnikiem

A może po prostu tak szybko zmienna zostaje przekazana z formularza (zanim doleci plik) ?

Ten post edytował webtg 9.06.2005, 19:14:03
Go to the top of the page
+Quote Post
NoiseMc
post 9.06.2005, 20:35:36
Post #4





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


No ja robie tak:

formularz.html

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Formularz</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  4. </head>
  5.  
  6. <form method="post" action="upload.php" onSubmit="otworzJakosPopup()">
  7. <input name="Plik" type="file">
  8. </form>
  9. </body>
  10. </html>


W tym momencie otwierany jest popup z informacją, że plik jest właśnie przesyłany. W tym czasie dane są wysyłane na serwer i plik upload.php nie zaczyna jeszcze działać bo serwer dopiero przyjmuje żądanie. Tak więc popup cały czas szuka sobie zmiennej "poPrzeslaniu" ale jej nie znajduje bo window.opener jest pusty.

Dopiero kiedy plik zostanie przesłany na serwer skrypt jest uruchamiany i odpowiednio obsługuje plik i wyrzuca do przeglądarki HTML wraz z polem hidden "poPrzeslaniu". Skrypt w popupie cały czas odwołując się do okna z którego został otworzony wkońcu znajduje zmienną "poPrzeslaniu" i się zamyka biggrin.gif

upload.php

  1. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
  2. <html>
  3. <head>
  4. <title>Formularz</title>
  5. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\">
  6. </head>
  7.  
  8. <body>
  9. <?php
  10.  
  11.  /*
  12. * Tu obsługa przesyłanego pliku
  13. */
  14. ?>
  15. <input type=\"hidden\" name=\"poPrzeslaniu\" id=\"poPrzeslaniu\" value=\"true\">
  16. </body>
  17. </html>


Ten post edytował NoiseMc 9.06.2005, 20:38:04


--------------------
Go to the top of the page
+Quote Post
webtg
post 10.06.2005, 09:55:43
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 28.12.2004
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


OK, Wielkie dzięki, już wiem czego nie zrozumiałem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:47