Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][js]Sprawdzanie wartosci dla formularzy, Dziala tylko dla jednego. Dlaczego??
pandaci
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował pandaci 14.03.2008, 14:45:40
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czy naprawde na forum trzeba latac z takimi literowkami:
acton
?
Go to the top of the page
+Quote Post
pandaci
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
--pandaci--
post
Post #5





Goście







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. ?>
Go to the top of the page
+Quote Post
Cienki1980
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
pandaci
post
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


Aha. A jak zastosować tą dodatkową cyfrę bądź literę w id w formie i w javie??
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 03:37