Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js]Sprawdzanie wartosci dla formularzy
Forum PHP.pl > Forum > Przedszkole
pandaci
Witam

Chciałbym stworzyć formualrze w pętli while.
  1. <?php
  2. while($wiersz = mysql_fetch_array($wynik))
  3. {
  4. <form acton="d.php" method="post">
  5. <input type='text' name='r' value='$wiersz[2]'> 
  6. <input type='submit' value='Dodaj'>
  7. </form>
  8. <br>';
  9. }
  10. ?>


Niestety nie działa. Gdy klikam przycisk nic sie nie dzieje na stornie. Dodam ze tych formualrzy tworzy tyle ile zczyta z bazy.

Gdzie jest błąd
nospor
czy naprawde na forum trzeba latac z takimi literowkami:
acton
?
pandaci
Dzięki wielkie 2 godizny stracone przez głupia literówkę.

Inny problem.

Mam kawalek javyscript ktory sprawdza czy wartosc jedna nie jest wieksza od drugiej
  1. <?php
  2. <script type=&#092;"text/javascript\">
  3. function CzyPuste()
  4. {
  5. var pole = document.getElementById('d').value;
  6. var pole2 = document.getElementById('i').value;
  7. var p=0;
  8. p=pole-pole2;
  9. if(< 0)
  10. {
  11. alert(&#092;"Wprowadz wartosc mniejsza od d\");
  12. return false;
  13. }
  14. return true;
  15. } 
  16. </script>
  17. ?>


I w petli while mam tak jak wyzej kilka formularzy.

Dlaczego dany skrypot dziala tylko dla jednego pierwszego formualrza dla innych nie

w formie mam dodane
  1. <?php
  2. onsubmit="return CzyPuste()"
  3. ?>
nospor
przeciez CzyPuste() zawsze dobiera sie do pola o id "d" oraz "i". Zawsze zwroci ci tylko to dane pole.
Musisz dla pol nadawac unikalne id, chocby poprzez dodanie kolejnej liczby a do CzyPuste() przekazywac te liczbe
-pandaci-
No dobrze ale jeżeli jest drugi formularz to te pola mają taką samą nazwę tylko value się zmienia.

To dlaczego to nie działa.

Nie mogę dodać literki bo nie wiem ile będzie tych pól.

Pętla while

  1. <?php
  2. while($wiersz = mysql_fetch_array($wynik))
  3. {
  4. <form acton="d.php" method="post">
  5. <input type='text' id='d' name='d' value='$wiersz[2]'> 
  6. <input type='text' id='i' name='i' value='$wiersz[3]'> 
  7. <input type='submit' value='Dodaj'>
  8. </form>
  9. <br>';
  10. }
  11. ?>
Cienki1980
Jeżeli nie chcesz numerować pól tak jak podpowiedział nospor to ponazywaj formularze i odwołuj sie do pól nie poprzez id a poprzez name ... chociaż to mało skuteczne. Lepiej wykorzystać to co powiedział nospor.

Co do ilości formularzy to łatwo sprawdzić ile ich będzie .. w końcu wyciągasz wyniki z bazy .. czyli mysql_num_rows() zwróci Ci ilość formularzy .. albo można dodać licznik do pętli i zwiększać go o 1 z każdym obrotem.
pandaci
Aha. A jak zastosować tą dodatkową cyfrę bądź literę w id w formie i w javie??
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.