Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][FancyBox] Wysyłanie formularza do iframe
yas
post 25.08.2013, 10:56:48
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 16.01.2012

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


Witam. Mam taki kod:

  1. <form name="form" id="myForm" method=post action=test.php>
  2. <input type="hidden" name="xyz" value="123">
  3. <input type="submit" value="REGISTER" id="button" class="button">
  4. </form>

Używam fancyboxa i chce by po wciśnięciu guzika register otwierał się pop-up a do niego by leciały dane z formularza. Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
PaFaT
post 17.09.2013, 20:55:36
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 3
Dołączył: 27.03.2012

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


Drogi(a) yas,

Zakładam, że rzeczony pop-up jest ramką iframe.

Innymi słowy, zależy Ci na przesłaniu danych z formularza do ramki.

Kod formularza powinien być następujący:

  1. <form name="form" id="myForm">
  2. <input type="hidden" name="xyz" value="123">
  3. <input type="button" value="REGISTER" id="button" class="button" onclick="register(this.form); ">
  4. </form>


Kod JS:

  1. <script type="text/javascript">
  2. function register(form)
  3. {
  4. if(!form) return;
  5. var xyz = form.elements["xyz"];
  6.  
  7. // tu sprawdzanie poprawności wprowadzonych danych
  8.  
  9. // teraz odwoływanie się do pop-up:
  10. var iframe = document.getElementById("popup-iframe");
  11. if(!iframe) return;
  12. iframe.style.display = "block";
  13.  
  14. var doc = iframe.contentDocument; // wszystkie przeglądarki (oprócz IE)
  15. doc = doc ? doc : iframe.contentWindow.document; // IE
  16. var forms = doc.getElementsByTagName("form")[0];
  17.  
  18. // wpisywanie danych do pól input w pop-up
  19. var xyz2 = forms.elements["xyz"];
  20. xyz2.value = xyz.value;
  21.  
  22. // to samo dla pozostałych pól
  23.  
  24. // jeśli chcesz od razu wysłać formularz w pop-up, użyj formuły
  25. // forms.submit();
  26.  
  27. }


W powyższym tekście założyłem, iż formularz w pop-up jest pierwszym formularzem w pliku.
W razie potrzeby zmień nr formularza (linia var forms = doc.getElementsByTagName("form")[0]; ).

Jeśli nie istnieje jeszcze kod ramki iframe, użyj mniej więcej takiego:

  1. <iframe src="register-popup.php" style="height: 250px; width: 400px; BLA BLA BLA; z-index: 2500; position: absolute; display: none; " id="popup-iframe"></iframe>


Oczywiście w miejsce BLA BLA BLA wpisz jakieś inne wartości. smile.gif

Powinno zadziałać...
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: 14.08.2025 - 07:46