Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]Sumowanie wartości pól z liczbami.. liczba pól nie jest określona.., pola mają nazwe name="nazwa_pola[]"
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Skrypt generuje mi liste pól z liczbami.. problem w tym, że liczba tych pól nie jest stała...

  1. <input name="nazwa_pola[]" value="30" type="text" />
  2. <input name="nazwa_pola[]" value="15" type="text" />
  3. <input name="nazwa_pola[]" value="23" type="text" />


w jaki sposób przygotowac teraz pętle, która bedzie sumowała wartości tych pól?

Bardzo prosze o powpowiedź, w php poradził bym sobie bezproblemowo..
Będe bardzo wdzięczny za wszelkie wypowiedzi.


----------------------- EDIT -----------------
w php wyglądało by to tak:
  1. <?php
  2. foreach($nazwa_pola as $liczba) {
  3.  $suma_liczb = $suma_liczb+$liczba;
  4. }
  5. ?>


Ten post edytował kukix 14.10.2008, 10:58:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post
Post #2





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




getElementsByName zwroci ci twoje elementy
http://www.w3schools.com/js/tryit.asp?file...ument_getbyname


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kukix
post
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Dzieki za odp.
Przeglądam sobie właśnie funkcje którą podałeś..

Problem w tym, że nazwy tych pól będą wyglądały troszke inaczej.. zapomniałem o indeksie

  1. <input name="nazwa_pola[1152]" value="30" type="text" />
  2. <input name="nazwa_pola[1130]" value="15" type="text" />
  3. <input name="nazwa_pola[1260]" value="23" type="text" />


w takim przypadku funkcja zwraca zawsze 0

Kod
function getElements()
{
var x=document.getElementsByName("nazwa_pola[]");
alert(x.length);
}


Ten post edytował kukix 14.10.2008, 16:29:02
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




1) mozesz dla nich dodac jakąc klase, i bedziesz pobieral po klasie
2) po co te indexy?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kukix
post
Post #5





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(nospor @ 14.10.2008, 17:33:14 ) *
1) mozesz dla nich dodac jakąc klase, i bedziesz pobieral po klasie
2) po co te indexy?


Indexy są potrzebne.. poniewaz jest to numer działu... pola te są nastepnie wysyłane i za pomocą pętli foreach() zapisywane w bazie...

próbowałem zrobić to w ten sposób..:

Kod
var x=document.getElementsByClassName("nazwa_klasy");


problem w tym, że pod FF działa.. a IE7 już nie dry.gif
jak inaczej można dostać sie do tych elementów?
Go to the top of the page
+Quote Post
melkorm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


hm możesz zliczyć ich ilość ( po stronie php) zapisać w zeminnej JS'owej i dawać każdemu id=cokowliek[1] itd od 1 do i i później w pętli nie masz problemu z liczbą elementów po stronie JS'a bo masz to w i ;]

a jeżeli tworzysz po stronei JS'a dynamicznie pola to dodajesz do zmiennej i jedynke i nie ma problemu ;]


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #7





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




1) a czy ten numer dzialu nie moze byc w value?
value="numerdzialu|twojawartosc"

2) skorzystaj np. z jQuery. nie bedziesz mial problemow z pobieraniem elementow po klasie. W czystym js nie ma takiego mechanizmu (czytaj nie wszystkie badzIEwia to obsluguja winksmiley.jpg )


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kukix
post
Post #8





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(melkorm @ 15.10.2008, 01:46:22 ) *
hm możesz zliczyć ich ilość ( po stronie php) zapisać w zeminnej JS'owej i dawać każdemu id=cokowliek[1] itd od 1 do i i później w pętli nie masz problemu z liczbą elementów po stronie JS'a bo masz to w i ;]

a jeżeli tworzysz po stronei JS'a dynamicznie pola to dodajesz do zmiennej i jedynke i nie ma problemu ;]

to rozwiązanie bedzie chyba najlepsze.. tzn. najprostsze.. smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 05:56