Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przekazanie danych metoda POST do okna pop-up
grzechu
post 12.05.2007, 08:30:59
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


Czesc mam formularz z taka akcja:
  1. <?php
  2. <form action="java script:PopUp('adres.php');" method="post">
  3. <input type="hidden" value="123" />
  4. ...
  5. </form>
  6. ?>


i tablica POST jest pusta na stronie adres.php, jesli wywale te funkcje popup'owa wszystko gra.

Na innym forum jedna osoba napisala, ze jej dziala, praktycznie tak samo zapisane tylko z wlasna funkcja popup.

Siedze juz nad tym kilka dni i nie czaje dlaczego dane sie nie przekazuja.

Pozdrawiam!
Go to the top of the page
+Quote Post
prond
post 12.05.2007, 09:00:18
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Pogooglałem trochę i znalazłem kod, który działa (sprawdziłem):
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  5. <title>Axent Submit Form To PopUp Demo</title>
  6. <script type="text/javascript">
  7. function openTarget (form, features, windowName) {
  8. if (!windowName)
  9. windowName = 'formTarget' + (new Date().getTime());
  10. form.target = windowName;
  11. open ('', windowName, features);
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form action="print_r.php" target="windowName" onsubmit="openTarget(this, 'width=300,height=300,resizable=1,scrollbars=1'); return true;" method="post">
  17. <input type="text" name="string" />
  18. <input type="submit" value="GO" />
  19. </form>
  20. </body>
  21. </html>


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
grzechu
post 12.05.2007, 21:42:36
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2006

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


a nie da sie tego zrobic jakos inaczej, bo nie dziala to na wszystkich przegladarkach tak jak bym chcial

swoja droga dlaczego sie nie przesyla w tradycyjny sposob jak miiedzy stronami otwieranymi bez popupa
Go to the top of the page
+Quote Post
phpion
post 20.10.2008, 19:47:05
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Pozwalam sobie odświeżyć temat. Coprawda bardziej pasowałby dział JavaScript no ale skoro taki temat już istnieje to się pod niego podpinam.

W czym problem? Na stronie mam 2 edytory FCKEditor, które służą do tworzenia nagłówka oraz stopki maila. Chciałbym zrobić podlgąd gotowego maila czyli otworzyć popup i w nim wyświetlić zawartość obu pól (najpier nagłowek, poniżej stopka). Mam problem jak przesłać dane z edytorów (samo pobranie danych nie stanowi problemu). Metoda GET odpada z racji ograniczenia co do ilości przesyłanych danych. Jedyne rozwiązanie jakie mi się nasuwa to wysłanie danych poprzez AJAX metodą POST, zapis ich do jakiegoś tymczasowego pliku (a'la cache), po czym onComplete otworzenie popupa, który wczytałby ten plik. Czy istnieje inne (lepsze) rozwiązanie tego problemu?

Pozdrawiam,
pion

Ten post edytował phpion 20.10.2008, 19:48:22
Go to the top of the page
+Quote Post
johnson
post 21.10.2008, 15:08:58
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

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


Na końcu formularza robisz dwa przyciski "button". W zależności, na którego użytkownik kliknie ustawiane są odpowiednie parametry formularza "action" - plik, który odbiera dane z formularza, "target" - okno, do którego przesyłane są dane. Jeśli użytkownik naciśnie na "Zapisz" to dane są przesyłane do tego samego okna i do pliku, które je zapisuje (np. w bazie danych), jeśli naciśnie "Podgląd" to otwiera się nowe okno, a dane są przesyłane do pliku, który tylko wyświetla zawartość pól formularza. Nie testowałem kodu, więc możliwe, że mogą pojawić się drobne błędy, ale to już sobie na pewno poradzisz.

  1. <form action="" method="post">
  2.  
  3. <!-- pola formularza -->
  4.  
  5. <input type="button" value="Zapisz" onclick="sendform('save.php', '_self')" />
  6. <input type="button" value="Podgląd" onclick="sendform('preview.php', '_blank')" />
  7.  
  8. </form>
  9.  
  10. <script type="text/javascript">
  11. function sendform(a, b)
  12. {
  13. document.forms["nazwaformularza"].action = a;
  14. document.forms["nazwaformularza"].target = b;
  15. document.forms["nazwaformularza"].submit();
  16. }


To jest oczywiście tylko przykład, ale moim zdaniem dość prosty i funkcjonalny.
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: 26.06.2025 - 12:53