Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Przesyłanie formularza poprzez 3 różne przyciski na tej samej stronie
Forum PHP.pl > Forum > Przedszkole
danon198901
Witam,

pytanie pewnie trywialne...czy mogę przesłać zawartość formularza poprzez 3 różne przyciski (type=button) z jednej i tej samej strony?
Do tej pory po wypełnieniu formularza wysyłałem je poprzez rodzaj przycisku "submit"

  1. <form name="frm" enctype="multipart/form-data" action="formularz.php" method="post">
  2. ...
  3. <input type="submit" value="Wyślij" id="wyslij" accesskey="x" />
  4. </form>


A teraz chciałbym dodać możliwość wysłania formularza na trojaki sposób, czyt. do innego pliku php. Jak sobie zrobiłem linki z przycisków:

  1. <a href="formularz_zglos.php" ><input type="button" value="Link1" /><br />
  2. <a href="formularz_wyslij.php" ><input type="button" value="Link2" /><br />


to wyświetla nową stronę, ale niestety nie przesyła to co wpisałem do formularza. Cokolwiek chcę odebrać tablicą $_POST to dostaje kominukat z błędem. Jest jakiś sposób na dopisanie w <form action> trzech różnych plików i samiast przycisków "button" zrobić 3x przycisk "submit" - każdy do innego pliku php? Albo może jakiś inny sposób?
sajegib
taki efekt osiągniesz chociażby robiąc kilka formularzy - każdy z action do innego pliku
Thorang Hoog
Dokładnie. Możesz użyć javascript jak proponuje amii powyżej. (JavaScript może być wadą jak i zaletą. Zależy od tego czy jest włączony w przeglądarce)
Choć można też po prostu wykorzystać input type=radio i zdecydować w pliku php co dalej powinno się dziać z danymi wink.gif
danon198901
niestety, ale z JS nie wychodzi. Tzn. stosuję jak z przykładowego linku:

  1. <form action ="" method="post" name="form1">
  2. <input type ="submit" onclick="calA();"/>
  3. <input type = "submit" onclick="calB"/>
  4. </form>
  5.  
  6. <script>
  7. function calA()
  8. {
  9. document.form1.action ="a.php";
  10. }
  11. function calB()
  12. {
  13. document.form1.action = "b.php";
  14. }
  15. </script>


ale niestety wyskakują 2 błędy typu: echo '<input type="hidden" name="ukryte_dane" value="'.$liczba_wierz.'" id="liczba_wierz" />'; - związane z danymi przesyłanymi z poprzedniego formularza - bowiem najpierw mam mały formularz na podstawie, którego generowany jest następny formularz i dane przechowuję sobie w type="hidden" (coś jak zmienne sesji tylko bez sesji:P):
  1. echo '<input type="hidden" name="ukryte_dane" value="'.$liczba_form.'" id="liczba_form" />';


Po kliknięciu jednego z trzech buttonów submit, które tyczą się innego action form dostaję właśnie błąd Undefined index: liczba_form. Nie wiem czemu, ale nie bangla to poprawnie u mnie:(

@Thorang Hoog jak można radiobuttona wykorzystać do tego bez korzystania z JS?snitch.gif
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.