Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zagnieżdżanie formularzy
#1
Chyba bardziej do tego działu pasuje ten problem, niż do PHP.


Kod:
<form action="" method="post" name="userEdit" onsubmit="return sprawdzFormularz()">

[jakies tam pola INPUT]

<fieldset><legend>Wyślij skan</legend>
    <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="dowod" /> <input type="submit" name="wyslijPlik" value="Wyślij" />
    </form>
    </fieldset>

[jakies tam inne pola input]

<input type="submit" name="userSave" value="Zapisz dane" />
</form>

I niestety - jak kliknę w submit, który jest w formularzu wewnątrz, to i tak wysyła się to przez zewnętrzny formularz.

Jak tego uniknąć? Aby wewnętrzny formularz był jednym formularzem, a zewnętrzny drugim.
Odpowiedz
#2
Zrobić dwa osobne? Big Grin Łatwiej i pozbędziesz się ew. błędów.
Odpowiedz
#3
Przykro minie ma takiej opcji, żeby umieszczać formularz w formularzu (ogólna zasada - nie moja Smile ).
fieldset dzieli formularz jednynie wizualnie na grupy.
W PHP to rozwiązujesz tak:
Kod:
if( isset($_POST['wyslijPlik']) ) {....
}elseif(isset($_POST['userSave']) ) {....
Do tego właśnie służy name typu submit i tak to się załatwia.

Żeby nie być gołosłownym http://kurs.browsehappy.pl/HTML/Formularze#submit oraz cytat z tej strony : "Nie można umieszczać formularza w formularzu. Cały formularz musi być wysłany na serwer, nawet jeśli ma zmienić się tylko jego część (jeden formularz może wykonać kilka różnych akcji)"
Odpowiedz
#4
Kurde :/

Nie chciałem tutaj podkreślać znaczenia fieldset - głownie chodziło mi o form.
No, ale trudno. Skoro się nie da to się nie da.

PHP także w tym mi nie pomoże, ponieważ formularz nadrzędny w moim skrypcie miał wymagać hasła, a podrzędny do wysyłania grafiki nie musiałby.

Dzięki za info!
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl