Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz w formularzu
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
Arek00
chcę zrobić stronę o takiej strukturze:
+ produkt 1 #
+ produkt 2 #
+ produkt 3 #
SUBMIT


+ są chceckboxy z pierwszego formularza który zaczyna się na początku i kończy na końcu strony, SUBMIT wysyła mi dane z niego na stronę a.php

każdy # to jest mały formularz wewnątrz tego dużego który kieruje mnie na stronę b.php

jeżeli mam obydwa formularze to nie działa mi SUBMIT a jak wyłącze te wewnętrzne to jest ok

czy można w ogóle w taki sposób umieścić formularze?

jeśli chodzi o kod to wygląda to mniej więcej tak (uprościłem to co mam żeby było przejrzyście):

  1. <form action=a.php" method=post>
  2.  
  3. ...
  4. <INPUT TYPE="checkbox" NAME="produkty[]" VALUE="123">produkt 123<form action="b.php"><input type="submit" value="produkt 123"></form>
  5. ...
  6.  
  7. <input type="submit" value="pokaż zaznaczone">
  8. </form>
Arek00
gekon, przykład który podałeś ma trochę inną funkcję niż ja potrzebuję, przede wszystkim przenosi na jedną wybraną stronę a ja chcę na dwie (możliwe że poprostu nie potrafię go adoptować do swoich potrzeb)

wykorzystałem ten przykład i mam coś takiego:

  1. <form id="form" method="post">
  2.  
  3. ...
  4. <INPUT TYPE="checkbox" NAME="produkty[]" VALUE="123">produkt 123<input type="hidden" name="dodaj" value="123"><input type="submit" value="produkt 123" onclick=\"document.getElementById('form').action='b.php'\">
  5. ...
  6.  
  7. <input type="submit" value="Pokaż zaznaczone" onclick="document.getElementById('form').action='a.php">
  8. </form>


checkboxy działają dobrze ale po przejściu na stronę b.php zmienna dodaj cały czas przyjmuje wartość ostatniego produktu na liście i za bardzo nie wiem co z tym zrobić...
gekon
Jeżeli koniecznie potrzebujesz przekierować do costam.php możesz to zrobić w php:
  1. <?php
  2. switch($_GET['button'])
  3. {
  4.  case example:
  5.  header("Location: ../b.php");
  6.  break;
  7.  
  8.  // ......... i tak dalej
  9.  
  10.  
  11. }
  12. ?>


Narazie nie przychodzi mi inny pomysł do głowy. Może coś jutro jeszcze napiszę.
Arek00
a czy Twoja wersja nie będzie działać tak jak w tej chwili moja, że na stronę b.php będzie wysyłana tylko ostatnia wartość z <input type="hidden">?

jak zrobić żeby submit brał wartość z <input type="hidden"> który znajduje się bezpośredno przy nim?
gekon
Powinienem zaglądnąć pierwsze do specyfikacji - formularz nie może zawierać formularza biggrin.gif

Ale wykorzystując JS (to co masz) możesz w a.php/b.php wyłuskać z $_GET/$_POST to co Cię interesuje.
Arek00
po wielu próbach doszedłem w końcu do czegoś takiego:
  1. <input type=hidden name="dodaj[]" value=""><input type="image" src="files/komputer.jpg" onclick="form.elements[1].value=<<numer produktu>>'; form.action='?q=kreator'">

a na stronie kreator jest tak:
  1. <?php
  2. $dodaj = $_POST["dodaj"];
  3. $numer_produktu='$dodaj[0];
  4. ?>

no i oczywiście działa smile.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.