Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzenie formularza
Forum PHP.pl > Forum > PHP
Kshyhoo
Witam. Jakoś nie mam szczęścia do tego forum, ostatnio nikt nie odpowiada w moich wątkach. Może w maju zła passa się przełamie ;p Do rzeczy.
Mam formularz, który ma za zadanie pobrać dane z "radio". Nic trudnego winksmiley.jpg Cały problem, że "radio" odpowiada wyborowi grafiki, której listę ładuję w pętli, łącznie z "radio":
  1. <?php
  2. echo "<table style='border: none'><tr>";
  3. for ($i=0;$i<count($lista);$i++) {
  4. // liczba kolumn
  5.    if (!($i % $kolumn)) echo "</tr><tr>";
  6.  
  7. echo "<td style='border: 1px solid black; text-align: center'><img src='".$sciezka1."/".$lista[$i]."'><input type='radio' name='herby' value='".$lista[$i]."'></td>";
  8. }
  9. echo "</tr><table>";
  10. ?>

Pomoże ktoś znaleźć rozwiązanie?
EDIT: Pobrać dane pobiera, chodzi o sprawdzenie, zablokowanie przejścia dalej i ponowne przetworzenie formularza, w przypadku nie zaznaczenia żadnej opcji.
okitoki
witaj, jaką metodą wysyłasz formularz, bo jak get to informacje będziesz miał w tablicy $_GET['herby'] jeżeli to post to analogicznie $_POST['herby'].

nie łatwiej, Ci pierwszy ustawić jako domyślny, wtedy już użytkownik będzie musiał coś wybrać, albo będzie miał domyślny
Kshyhoo
Znalazłem na to rozwiązanie. Testuje niezdefiniowaną ilość:
  1. <script language='javascript' type='text/javascript'>
  2. function checkRadios() {
  3. var el = document.forms[0].elements;
  4. for(var i = 0 ; i < el.length ; ++i) {
  5. if(el[i].type == "radio") {
  6. var radiogroup = el[el[i].name]; // pobiera wcisniety radio
  7. var itemchecked = false;
  8. for(var j = 0 ; j < radiogroup.length ; ++j) {
  9. if(radiogroup[j].checked) {
  10. itemchecked = true;
  11. break;
  12. }
  13. }
  14. if(!itemchecked) {
  15. alert("Musisz wybrać kolor pola \" "+el[i].name+" \"!");
  16. if(el[i].focus)
  17. el[i].focus();
  18. return false;
  19. }
  20. }
  21. }
  22. return true;
  23. }

Potem w kodzie formularza:
  1. echo "<form name='xxx' action='yyy' method='POST' onSubmit='return checkRadios(this);'>";


Może komuś się przyda.
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.