Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak rozpoznać, który przycisk został naciśniety
Forum PHP.pl > Forum > Przedszkole
ernik
mam pewien formularz
  1. ...
  2. <form action="" method="post">
  3. <input type="button" name="Przycik1" value="OK" onClick="javascript: document.forms[0].submit()">
  4. <input type="button" name="Przycik2" value="Reset" onClick="javascript: document.forms[0].submit()">
  5. <input type="submit" name="Przycik3" value="Dodaj">
  6. </form>
  7. ...


jak rozpoznac ktory przycisk zostal naciśnięty

kod
  1. <?php
  2.  
  3. if(isset($_POST['Przycisk1'])){
  4. ...
  5. }
  6. if(isset($_POST['Przycisk2'])){
  7. ...
  8. }
  9. if(isset($_POST['Przycisk3'])){
  10. }
  11.  
  12. ?>

rozpoznaje tylko gdy nacisne przycisk3 dry.gif

druga sprawa czy mozna robic cos takiego
  1. <input type='submit' name='add' value='ADD'>
  2. <form>
  3. <input type='submit' name='update' value='UPDATE'>
  4. </form>
  5. </form>

jak rozpoznac ktory form zostal przycisniety?
crash
  1. <form action="" method="get">
  2. <input type="submit" name="Przycik1" value="OK">
  3. <input type="submit" name="Przycik2" value="Reset">
  4. <input type="submit" name="Przycik3" value="Dodaj">
  5. </form>

  1. <?php
  2. if( isset( $_GET[ 'Przycisk1' ] ) )
  3. {
  4.    // 1
  5. }
  6. elseif( isset( $_GET[ 'Przycisk2' ] ) )
  7. {
  8.    // 2
  9. }
  10. elseif( isset( $_GET[ 'Przycisk3' ] ) )
  11. {
  12.    // 3
  13. }
  14. ?>


Czemu używając metody GET sprawdzasz tablicę _POST?

2. Nie da się zagnieżdżać formularzy!

Przenoszę na php Początkujący.
ernik
Cytat(crash @ 2006-02-09 22:41:16)
Czemu używając metody GET sprawdzasz tablicę _POST?

mój błąd poprawiłem (oczywiście w formularzu u siebie mam post)

wiem ze na kilka submitow zadziala, ale w tym szkopul ze chce zeby tylko jeden submit 'przycisk3' reagowal na nacisniecie 'enter' a pozostale 'submity' trzeba bylo nacisnac ale zeby wysylaly wszystkie zmienne formularza w ten sposob
  1. <form action="" method="post">
  2. <input type="button" name="Przycik1" value="OK" onClick="javascript: document.forms[0].submit()">
  3. <input type="button" name="Przycik2" value="Reset" onClick="javascript: document.forms[0].submit()">
  4. <input type="submit" name="Przycik3" value="Dodaj">
  5. </form>

wysylane sa wszystkie dane niezaleznie od naciśnietego przycisku, ale nie moge rozpoznać czy był nacisniety przycisk1 lub przycisk2
crash
No to stwórz sobie może dodatkowe pole ukryte i dodawaj do niego jakąś daną przy klikaniu na przycisk, bo tak nie zostaje przesłane info, na który przycisk naciśnięto.
ernik
dodatkowo chcialbym aby w zaleznosci od przycisku zostal wywolywany odpowiedni skrypt

  1. <form action="" method="post">
  2. <input type="button" name="Przycik1" value="OK" onClick="javascript: document.forms[0].action='edit.php'; document.forms[0].submit()">
  3. <input type="button" name="Przycik2" value="Reset" onClick="javascript: document.forms[0].action='delete.php'; document.forms[0].submit()">
  4. <input type="submit" name="Przycik3" value="Dodaj">
  5. </form>


chodzi o to ze jak klikne przycisk1 formularz pojdzie do jednego skryptu a jak przycisk2 to do drugiego
sticker
zrób jak napisał crash
daj sobie inputa typu hidden i a pod buton wklej kod onClick= "java script: document.form[o].twojeUkrytePole.value=1(tu kod nacisnietego buttonka), document.form[0].submit(), twój dodatkowy kod javascriptu... " smile.gif Dawno nie pisałem w php ale jak pojdziesz tym tropem to na pewno ci sie uda bo juz robiłem coś podobnego w taki sposób jak poakazałem powyżej
ernik
DZIEKI ZA PODPOWIEDZI

SMIGA AŻ MIŁO!! biggrin.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.