Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykrycie nazwy formularza
Forum PHP.pl > Forum > PHP
Black-Berry
Mam na jednej stronie kilka formularzy... Niektóre pola mają takie same nazwy. np

  1. <form name="xxx_1">
  2. <input name="imie"/>
  3. <input name="surname"/>
  4. <input type="submit" name="confirm"/>
  5. </form>
  6.  
  7. <form name="xxx_1">
  8. <input name="imie"/>
  9. <input name="email"/>
  10. <input name="adress"/>
  11. <input type="submit" name="confirm"/>
  12. </form>


I teraz chciałbym wykryć który przycisk "confirm" został nacisniety... Czy formularze mają hierarchiczną budowę? Mozna to jakoś wykryć? Chodzi mi o coś takiego: (ponizszy przykład nie działa)
  1. <?php
  2. if( $_POST["xxx_1.confirm"] )
  3. {
  4.  echo "kliknięto na formę xxx_1";
  5. }
  6. elseif( $_POST["xxx_2.confirm"] )
  7. {
  8. echo "kliknieto forme xxx_2";
  9. }
  10. ?>
mike
Umieść w każdym z forumlarzy ukryte pole (hidden) z nazwą formularza.
I po tym je identyfikuj.
Black-Berry
Cytat(mike @ 4.07.2007, 11:59:27 ) *
Umieść w każdym z forumlarzy ukryte pole (hidden) z nazwą formularza.
I po tym je identyfikuj.

Czyli nie ma możliwości wykrycia nazwy formularza ?
mike
Jeśli sam ten nazwy nie prześlesz to nie.
Black-Berry
Cytat(mike @ 4.07.2007, 12:06:28 ) *
Jeśli sam ten nazwy nie prześlesz to nie.
Ale ja ją posyłam w nagłówku formularza <form name="xxx"/>. PHP tego nie może wykryć? Chodzi mi o podobny motyw jak w JS. Tam można zrobić coś takiego:
Kod
document.forms['xxx'].elements['imie'].value = 'Black-Berry';
abc667
nazwa formularza nie jest wysyłana tak jak już było powiedziane, zrób tak jak już było powiedziane, pole hidden, zawsze możesz do każdego formularza dodawać pole o takiej samej nazwie i potem w window.onload

  1. var i=0;
  2. while(document.forms[i])
  3. {
  4. document.forms[i].elements['nazwa'].value = document.forms[i].name;
  5. i++;
  6. }
starach
Sam możesz sprawdzić.
Jeśli wysyłasz dane metodą POST wstaw kod w miejscu przetwarzania formularz.
  1. <?php
  2. echo '<pre>'.print_r($_POST, true).'</pre>';
  3. ?>

Jeśli nazwy tam nie będzie to chyba odpowiedź jest prosta winksmiley.jpg
Tak jak napisał mike najlepszym rozwiązaniem będzie dodanie pola typu hidden.
mike
Cytat(Black-Berry @ 4.07.2007, 12:08:10 ) *
Ale ja ją posyłam w nagłówku formularza <form name="xxx"/>. PHP tego nie może wykryć?
Nic nie wysyłasz.
Przeglądarka wysyła zawartość formularza. A nie informację o nim . (i kropka)
barF
albo nazwa dla submit`a
Black-Berry
Spoko, wiem jak to zrobić inaczej ale chciałem się upewnić czy nie da sie tego zrobić bardzej fancy smile.gif

Dzięki za odpowiedzi. Pozdrawiam.
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.