Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obliczanie stawki VAT'u na podstawie "radio, i ceny w liście rozwijalnej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
patrykz103
Witam,

Mam podstawę kodu:
CODE
<form name="cena">
Produkt
<select name="cena" id="cena">
<option value="0">--- wybierz ---</option>
<option value="670">Produkt 1 - 670 piniendzuf (zł)</option>
<option value="770">Produkt 2 - 770 piniendzuf (zł)</option>
<option value="270">Produkt 3 - 270 piniendzuf (zł)</option>
<option value="370">Produkt 4 - 370 piniendzuf (zł)</option>
</select><br><br>
</form>
<form action="..." name="vat" id="vat"> VAT
<input type="radio" name="jeden" value="23" />23%
<input type="radio" name="dwa" value="22" />22%
<input type="radio" name="trzy" value="7" />7%
<input type="radio" name="cztery" value="3" />3%
</form><br>
Wartość netto <output id="wynik"></output><br><br>
<input type="button" onClick="oblicz()" value="wynik" id="wynik">
</form>


Potrzebuję funkcji, gdzie oblicza mi dany procent VAT'u wybrany przez "radio", do danej ceny z listy rozwijalnej.

Próbowałem zrobić taką funkcję:
CODE
function oblicz() {
var cena = document.forms['cena'].elements['cena'].value;
var vat = document.forms['vat'].elements['vat'].checked = true/false;
var wynik = (cena * vat)/100;
document.getElementById("wynik").value = wynik;
}


Ale najwidoczniej nic z tego biggrin.gif Wynik ma być wyświetlany w outpucie.
Potrzebuyję pomocyy..
deha21
We wszystkich input[type="radio"] musisz zmienić name="tax". Bo miałeś inne nazwy porobione i nie było wyboru pojedynczego. Poniżej skrypt JS. Swoją drogą dziś też robiłem coś podobnego wink.gif
Kod
function oblicz() {
    var cena = document.forms['cena'].elements['cena'].value;
    var vat = document.forms['vat'].elements['tax'].value;
    cena=parseFloat(cena); // Zmiana stringa na Float
    vat=parseFloat(vat); // Zmiana stringa na Float
    var wynik = (cena / (vat+100))*100; // Dodanie 100 do liczy VAT (np. 100+23 = 123 dla VAT 23%)

    document.getElementById("wynik").value = wynik.toFixed(2); // Zaokrąglanie do 2 miejsc po przecinku
}
trueblue
deha21, Twój przykład oblicza wartość netto zakładając, że cena jest brutto.
Ale przyznam, że nie wiem czy to jest to co chciałeś uzyskać, ani czy to jest to czego oczekiwał autor.
deha21
Cytat(trueblue @ 20.10.2016, 21:09:09 ) *
deha21, Twój przykład oblicza wartość netto zakładając, że cena jest brutto.
Ale przyznam, że nie wiem czy to jest to co chciałeś uzyskać, ani czy to jest to czego oczekiwał autor.

Wydawało mi się, że chodziło o obliczenie netto z brutto tongue.gif Ewentualnie można obliczyć wartość VAT w ten sposób.
Kod
var wynik = ((cena / (vat+100))*100)-cena;
Pyton_000
Nie, nie można

Ceny netto i ceny brutto oblicz a się tak:

123 / 1.23 = cena netto
100 * 1.23 = cena brutto
deha21
Cytat(Pyton_000 @ 21.10.2016, 21:43:09 ) *
Nie, nie można

Co prawda miałem błąd w równaniu, ale ja mówiłem o wartości VAT (np. 23 zł VAT, w przypadku 100 zł netto). Ty mówisz o całej kwocie netto i brutto. Równanie powinno wyglądać tak:
Kod
cena-(cena/(vat+100)*100)
Pyton_000
skoro vat masz zapisane jako 23, 18, 5 a cena to cena brutto to powinno być:

vat = cena-(cena/(1+(vat/100)))
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.