mam napisany skrypt odpowiadający za zliczanie wartości zaznaczonych pól typu checkbox.
Działanie skryptu polega na zliczaniu wartości w/w pól w postaci cyfr oznaczających ilość adresów e-Mail w wybranej grupie (checkbox).
Mianowicie dla przykładu mam kilka grup mailingowych:
<input type="checkbox" name="" value="" onClick="sumAddresses(\'5\',this)" />Motoryzacja <input type="checkbox" name="" value="" onClick="sumAddresses(\'694\',this)" />Produkcja i przemysł <input type="checkbox" name="" value="" onClick="sumAddresses(\'12\',this)" />Firmy budowlane <input type="checkbox" name="" value="" onClick="sumAddresses(\'512\',this)" />Firmy transportowe
Jako wartość funkcji sumAddresses (czyli : 5, 694, 12, 512) oznaczyłem ilość maili przypisanych do grupy.
Załóżmy, że zaznaczone zostają dwie pierwsze grupy, co daje wynik 699.
Trzeba wziąć też pod uwagę, że system wysyła 10 wiadomości co 5 minut czyli czas wysyłania jednej wiadomości (1 adres e-Mail) to 30 sekund.
Teraz mając już skrypt liczący dynamicznie zawartość adresów e-Mail w wybranych grupach chciałbym by obliczał czas wysyłania takiego mailingu.
Co prawda można w bardzo prosty sposób podać ilość minut potrzebną do wysłania wszystkich wiadomości (dla powyższego przykładu 699 / 2 co daje wynik 349,5 minuty), jednak ja chciałbym aby ten czas został podany w formie 5 godzin 49 minut 30 sekund), gdy czas będzie większy jak 24 godziny to podajemy też ilość dni, a gdy wystarczy tylko kilkanaście minut np. gdy wybrane grupy zawierają 49 maili to czas potrzebny do wysłania wszystkich wiadomości powinien zostać określony w takiej formie: 24 minuty 30 sekund).
Czy wie ktoś z Was jak napisać takie działania w moim skrypcie ?
Oto mój dotychczasowy skrypt:
var sumAmount = 0; function sumAddresses(amount,object) { sumAmount = object.checked ? sumAmount + parseFloat(amount) : sumAmount - parseFloat(amount); var mins = sumAmount; document.getElementById('sumAmount').innerHTML = sumAmount; document.getElementById('timeForSend').innerHTML = (mins / 2) + "minuty"; }
Serdecznie pozdrawiam,
Kamil Dunaj