![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam jestem bardzo początkujący z kwestii javascript jednak jestem zmuszony skorzystać z tego języka i mam pewien problem skrypt który stworzyłem po wielu męczarniach
dodaje kolejne wiersze w fakturze . również oblicza dynamicznie wyniki w poszególnych wierszach jednak nie moge sobie poradzić z podliczeniem całej faktury zrobiłem pętle jednak coś z nią jest nie tak , przerabiałem na kilka sposobów i nie działa: kod html Kod <textarea id="szablon" style="display:none;" cols="1" rows="1"> <tr id="wiersz_{0}"> <td>*</td> <td><input type="text" size="3" name="imie[]"></td> <td><input type="text" size="2" name="nazwisko[]"></td> <td><input type="text" size="2" name="nr" value="odpowiedź domyślna"/></td> <td><input type="text" size="2" id="ilosc{0}" onchange="oblicz({0},\'ilosc\')" name="dataw[]" value="1"/></td> <td><input type="text" size="2" id="cena{0}" onchange="oblicz({0},\'cena\')" name="datax[]" value="1"/></td> <td><input type="text" size="2" id="rabat{0}" name="nr" onchange="oblicz({0},\'rabat\')" value="2"/></td> <td><input type="text" size="2" id="svat{0}" name="svat{0}" onchange="oblicz({0},\'svat\')" value="2"/></td> <td><input type="text" size="2" id="netto{0}" name="netto{0}" onchange="oblicz({0},\'netto\')" value="2"/></td> <td><input type="text" size="2" id="vat{0}" name="vat{0}" onchange="oblicz({0},\'vat\')" value="2"/></td> <td><input type="text" size="2" id="brutto{0}" name="brutto{0}" onchange="oblicz({0},\'brutto\')" value="2"/></td> <td><img src="http://antczak.org/source/dynamic_forms/12.png" id="usunOsobe_{0}" alt="usun"></td> </tr> </textarea> <table id="listaOsob"> <thead> <tr> <th>Lp</th> <th>Towar/Usługa</th> <th>PKWiU</th> <th>J.m.</th> <th>Ilość</th> <th>Cena netto</th> <th>Rabat</th> <th>Stawka Vat</th> <th>Wartość netto</th> <th>Wartość Vat</th> <th>Wartość brutto</th> <th>-</th> </tr> </thead> <tfoot> <tr> <th colspan="4"> <input type="submit" name="wyslij" value="Wyślij"> </th> </tr> </tfoot> <tbody> </tbody> <tdown> </tdown> <img src="http://antczak.org/source/dynamic_forms/11.png" id="dodajOsobe" alt="dodaj"> </table> <tr bgcolor="white"><td>* Pola obowiązkowe</td><td><input type="submit" name="licz" value="Zapisz"/></td><td><input type="submit" name="wroc" value="Anuluj"/></td></tr> </form> kody java i jq: Kod <script type="text/javascript"> $(document).ready(function(){ var i = 1; var szablonWiersza = jQuery.format($("#szablon").val()); var ii = i++; $(szablonWiersza(ii)).appendTo("#listaOsob tbody"); $("#usunOsobe_" + ii).click(function(){ $("#wiersz_" + ii).remove(); }); function dodajWiersz() { var ii = i++; $(szablonWiersza(ii)).appendTo("#listaOsob tbody"); $("#usunOsobe_" + ii).click(function(){ $("#wiersz_" + ii).remove(); }); } $("#dodajOsobe").click(dodajWiersz); }); </script> <script type="text/javascript"> function Round(n, k) { var factor = Math.pow(10, k+1); n = Math.round(Math.round(n*factor)/10); return n/(factor/10); } function oblicz(x,c) { switch { case \'ilosc\': var ilosc = document.getElementById(\'ilosc\' + x).value; var cena = document.getElementById(\'cena\' + x).value; var rabat = document.getElementById(\'rabat\' + x).value; var svat = document.getElementById(\'svat\' + x).value; var netto = document.getElementById(\'netto\' + x).value; var vat = document.getElementById(\'vat\' + x).value; var brutto = document.getElementById(\'brutto\' + x).value; var wnettobezrabatu = (ilosc * cena); var wnetto = wnettobezrabatu - (wnettobezrabatu *(rabat / 100)); var wvat = (wnetto * svat)/100; var wbrutto = Round(wnetto + wvat, 2); document.getElementById(\'netto\' + x).value = wnetto; document.getElementById(\'vat\' + x).value = wvat; document.getElementById(\'brutto\' + x).value = wbrutto; var x = 1; //ustawia zmienna x na 1 zeby zaczelo pobierac od pierwsego wiersza while (x<=5) // dopuki nie pobierze 5 koejnych warosci { var s = document.getElementById(\'netto\' + x); pobiera dane z formularza x++; wynik = s + wynik; //dodaje do wyniku pobraną wartosc } kolumna = document.getElementById(\'sumanetto\'); kolumna.innerHTML = wynik; var dodaj = document.getElementById(\'sumanetto\'); dodaj.appendChild(kolumna); break; case \'cena\': var ilosc = document.getElementById(\'ilosc\' + x).value; var cena = document.getElementById(\'cena\' + x).value; var rabat = document.getElementById(\'rabat\' + x).value; var svat = document.getElementById(\'svat\' + x).value; var netto = document.getElementById(\'netto\' + x).value; var vat = document.getElementById(\'vat\' + x).value; var brutto = document.getElementById(\'brutto\' + x).value; var wnettobezrabatu = (ilosc * cena); var wnetto = wnettobezrabatu - (wnettobezrabatu *(rabat / 100)); var wvat = (wnetto * svat)/100; var wbrutto = wnetto + wvat; document.getElementById(\'netto\' + x).value = wnetto; document.getElementById(\'vat\' + x).value = wvat; document.getElementById(\'brutto\' + x).value = wbrutto; break; case \'rabat\': var ilosc = document.getElementById(\'ilosc\' + x).value; var cena = document.getElementById(\'cena\' + x).value; var rabat = document.getElementById(\'rabat\' + x).value; var svat = document.getElementById(\'svat\' + x).value; var netto = document.getElementById(\'netto\' + x).value; var vat = document.getElementById(\'vat\' + x).value; var brutto = document.getElementById(\'brutto\' + x).value; var wnettobezrabatu = (ilosc * cena); var wnetto = wnettobezrabatu - (wnettobezrabatu *(rabat / 100)); var wvat = (wnetto * svat)/100; var wbrutto = wnetto + wvat; document.getElementById(\'netto\' + x).value = wnetto; document.getElementById(\'vat\' + x).value = wvat; document.getElementById(\'brutto\' + x).value = wbrutto; break; case \'svat\': break; case \'netto\': var ilosc = document.getElementById(\'ilosc\' + x).value; var cena = document.getElementById(\'cena\' + x).value; var rabat = document.getElementById(\'rabat\' + x).value; var svat = document.getElementById(\'svat\' + x).value; var netto = document.getElementById(\'netto\' + x).value; var vat = document.getElementById(\'vat\' + x).value; var brutto = document.getElementById(\'brutto\' + x).value; var wcena = netto / ilosc var wnettobezrabatu = (ilosc * wcena); var wnetto = wnettobezrabatu - (wnettobezrabatu *(rabat / 100)); var wvat = (wnetto * svat)/100; var wbrutto = wnetto + wvat; document.getElementById(\'netto\' + x).value = wnetto; document.getElementById(\'vat\' + x).value = wvat; document.getElementById(\'brutto\' + x).value = wbrutto; document.getElementById(\'cena\' + x).value = wcena; break; case \'brutto\': var ilosc = document.getElementById(\'ilosc\' + x).value; var cena = document.getElementById(\'cena\' + x).value; var rabat = document.getElementById(\'rabat\' + x).value; var svat = document.getElementById(\'svat\' + x).value; var netto = document.getElementById(\'netto\' + x).value; var vat = document.getElementById(\'vat\' + x).value; var brutto = document.getElementById(\'brutto\' + x).value; var wcena = brutto / ((svat/100)+1) var wnettobezrabatu = (ilosc * wcena); var wnetto = wnettobezrabatu - (wnettobezrabatu *(rabat / 100)); var wvat = (wnetto * svat)/100; var wbrutto = wnetto + wvat; document.getElementById(\'netto\' + x).value = wnetto; document.getElementById(\'vat\' + x).value = wvat; document.getElementById(\'brutto\' + x).value = wbrutto; document.getElementById(\'cena\' + x).value = wcena; break; default: } } </script> dodałem momentarze przy pentli która nie działa prosze o pomoc (kod został skrócony ponieważ nie mogłem wysłać posta Chodzi o tą pętle Kod var x = 1; //ustawia zmienna x na 1 zeby zaczelo pobierac od pierwsego wiersza while (x<=5) // dopuki nie pobierze 5 koejnych warosci { var s = document.getElementById(\'netto\' + x).value; //pobiera dane z formularza x++; wynik = s + wynik; //dodaje do wyniku pobraną wartosc } sorki ale pierszy raz korzystam z forum o pomoc zawsze radziłem sobie sam jednak teraz już dwa dni nad tym siedze Ten post edytował predator66611 6.12.2012, 11:43:18 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 22:10 |