Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Problem z Chrome, wywołanie skryptu
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


Witam,
mam skrypt który generuje mi pliki pdf. Wszystko pięknie działa pod IE czy też FF, ale problem pojawia się w Chromie.
Przy kliknięciu na przycik "generuj pdf" okno się poprawnie zamyka ale niestety skrypt generatora nie zostaje wywołany. W czym może być problem? Może ktoś się już z tym spotkał?

  1. .......
  2.  
  3. <form name="sprawozdanie" form action="spr_pdf.php" target="_blank" method="GET">
  4. <input type="hidden" name="id_spr" value="<? echo $idspr; ?>" />
  5. <input type="hidden" name="informacja" value="<? echo $informacja; ?>" />
  6. <p><input type="submit" value="Generuj PDF" onclick="self.close()"; /></p><br />
  7.  
  8. .......


Po wielu próbach, stwierdziłem że jeśli z sekcji:
  1. 6.<p><input type="submit" value="Generuj PDF" onclick="self.close()"; /></p><br />

wyrzucę onclick="self.close()"; to pdf się generuje jednak skutkuje to tym, że okno nadal zostaje otwarte... więc połowicznie temat rozwiązany, ale w takim razie jak inaczej zamknąc okno?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
blahy
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 22
Dołączył: 20.07.2010

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


Rozumiem, ze sam otwierasz to okno/popup? Bo inaczej nie moglbys go zamknac w chrome.
Wydaje mi sie ze chrome inaczej obsluguje tutaj kolejnosc - najpierw wywoluje onclick, wtedy juz nie ma co submitowac.

Mozna zrobic tak, ze submit idzie na strone, ktora go obsluguje (nie w nowej karcie) i ona zamyka popup:

  1. <form name="sprawozdanie" id="asd" action="bbb.html" method="GET">
  2. <input type="hidden" name="id_spr" value="asd" />
  3. <input type="hidden" name="informacja" value="asd" />
  4. <p><input type="submit" value="Generuj PDF" /></p><br />
  5. </html>

i
  1. <script type="text/javascript">
  2. self.close()
  3. </body>
  4. </html>


Albo submit formularza ajaxem i w odpowiedzi na niego zamknac okno. To powinno dzialac na kazdej przegladarce.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Cytat
<form name="sprawozdanie" form action="spr_pdf.php" target="_blank" method="GET">

Wywal to i sprawdź.

I czy masz zamknięty </form> ? Bo tu go nie widać.

Ten post edytował Pyton_000 18.02.2015, 22:12:29
Go to the top of the page
+Quote Post
freewalker
post
Post #4





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 14.02.2015

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


ewentualnie ustaw:

setTimeout(function(){ self.close(); },2000);

lub skorzystaj z:

  1. <form onsubmit="self.close()">


co powinno najpierw wysłać formularz (IMG:style_emoticons/default/smile.gif)

Ten post edytował freewalker 18.02.2015, 22:24:29
Go to the top of the page
+Quote Post
krzesik
post
Post #5





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


Dziękuję wszystkim za wszelkie porady.
Form mam zamknięty poniżej - więc jest ok.

poradziłem sobie w inny sposób, działa ale nie wiem czy jest poprawny:
  1. .....
  2. <p><input type="submit" value="Generuj PDF" onclick="submit(); window.close();" /></p><br />
  3. .......
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Najelegantszym rozwiązaniem będzie po prostu umieszczenie wszystkiego w jednym pliku (bez konieczności otwierania nowego okienka i zamykania go). Tyle, że lepiej by było jakbyś zmienił wtedy GET na POST. Czyli:

  1. // na samej górze dokumentu
  2. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  3. include 'spr_pdf.php';
  4. }
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 17:55