Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ktory submit zostal wcisniety ?
Forum PHP.pl > Forum > Przedszkole
a79rtur
czesc
mam nastepujacy formularz w szablonie

  1. <FORM action="akcja.php" method="post" name="LL_{KTORY}">
  2. {LL_HIDDEN}
  3. <input name="Zapisz" type="submit" value="Zapisz zmiany">
  4. <input name="Usun" type="submit" value="Usuń logo z listy">
  5. </form>


takich formularzy jest kilka na stronie mają nazwy LL_1, LL_5 etc. w polu hidden moge przeslać ktorego logosa ma dotyczyc akcja, ale jak przeslac jaka akcja ma byc wykonana ?
czyli problem sie sprowadza do tego jak wyczaic w pliku akcja.php, ktory submit został wcisniety?

pytanie drugie: jakie dane zostają zawsze przesylane w tablicy $_POST po zatwierdzeniu jakiegokolwiek formularza ?
harmag
z tego co mi sie wydaje to nie moze byc 2 submitow dla jednego <FORM></FORM>
rmn
Sprawdzasz zwyczajnie wartości przesłane przez formularz. Czyli w tym wypadku elementów o nazwach "Zapisz" i "Usun".

Jeśli chcesz sprawdzić który buton został wcisnięty:

Kod
if(!empty($_POST['Zapisz'])) echo "Wciśnięto Zapisz";
else echo "Wciśnięto Usuń.";



Myślę, że harmag ma rację i powinineś jakoś inaczej to zaprojektowąć jeśli chcesz zachować poprawność HTMLa. Np. mogą się dziać dziwne rzeczy jeśli user skorzysta ze sktótu klawiszowego do wysłania fomularza.
a79rtur
inaczej czyli 2 formularze ?
a jakbym zamiast submitow cos takiego wrzucił :
  1. <A href="javascript:document.LL_{KTORY}.submit();" name="Zapisz"></A>
  2. <A href="javascript:document.LL_{KTORY}.submit();" name="Usun"></A>

czy to bedzie poprawne ?
moze jakies inne wyjscie ?
rmn
Nie wiemy co chcesz zrobić więc ciężko Ci pomóc. Ale może np zamiast butonu "Usuń logo z listy" daj zwykly link. A jesli chcesz żeby to był jednak przycisk to użyj
Kod
<input type="button">
i zdażenia onClick.

PS. kod, który napisałem wcześniej będzie działał.
a79rtur
dzieki za rady i sory że niewyraźnie pisałem smile.gif
rmn
Ok, psrawdziłem wygląda na to, że możesz mieć dwa submity w jednym formularzu.
a79rtur
mam
  1. <FORM action=akcja.php method="post" name="LL_{LL_KTORY}" >
  2. {LL_HIDDEN}
  3. <input type="button" name="ZapiszZmiany" value="Zapisz zmiany" onClick="javascript:document.LL_{LL_KTORY}.submit();">
  4. <input type="button" name="UsunLogo" value="Usuń logo z listy" onClick="javascript:document.LL_{LL_KTORY}.submit();">
  5. </form>


a w akcja.php

  1. <?php
  2.  
  3.  if(!empty($_POST['ZapiszZmiany'])) echo &#092;"Wciśnięto Zapisz\"; 
  4. else echo &#092;"Wciśnięto Usuń.\";
  5.  
  6. ?>


i cobym nie wcisnął dostaje : Wciśnięto Usuń.
sf
Był o tym artykuł, link do niego pojawił się, bo ja wiem do 3 miesięcy wstecz, na stronie php.pl.
DavidPL
Witam,
Pora chyba rozwiązać nasz problem smile.gif

  1. <input name="ZapiszZmiany" type="submit" value="Zapisz zmiany">


Analogicznie dla drugiego przycisku...

Da to następujące rezulaty:
Z formularza zostaną przekazane dane podane w polach tekstowych, checkach itp oraz ta zmienna której przycisk został kliknięty.

--
Pozdrawiam,
Dawid Szałęga
revyag
  1. <form action="akcja.php" method="post" name="form1" >
  2. <button name="save" onClick="document.form1.submit();">save</button>
  3. <button name="del" onClick="document.form1.submit();">del</button>
  4. </form>

  1. <?php
  2. if(!isset($_POST[&#092;"del\"]) && isset($_POST[\"save\"])) echo \"Save\";
  3. if(isset($_POST[&#092;"del\"]) && !isset($_POST[\"save\"])) echo \"Del\";
  4. ?>

?
Zmieniłem tamten kod troche, żeby prościej wyglądało to smile.gif
a79rtur
dzieki revyag, teraz ładnie działa smile.gif
, bo z tym : <input type="button"> cos nie bardzo chciało.
macie moze jakies linki do artykułów na temat obslugi formularzy w php ? bo nie chce wiecej marudzic o tym na forum a mam z tym problemy.
sf: jest gdzies indziej ten artykuł co o nim mowisz, bo strona www.php.pl cos mi nie działa sad.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.