Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]Sumowanie wartości pól z liczbami.. liczba pól nie jest określona..
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kukix
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. ?>
nospor
getElementsByName zwroci ci twoje elementy
http://www.w3schools.com/js/tryit.asp?file...ument_getbyname
kukix
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);
}
nospor
1) mozesz dla nich dodac jakąc klase, i bedziesz pobieral po klasie
2) po co te indexy?
kukix
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?
melkorm
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 ;]
nospor
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 )
kukix
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
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.