jak użyć wyniku z radio do dalszych obliczeń, javascript

0

Cześć,
cały dzień spędziłem próbując różnych sposobów. Jestem w kropce.
O co w ogóle chodzi: Interaktywna aplikacja ma obliczać składkę na ubezpieczenie. Użytkownik wpisuje kwotę ubezpieczenia, zaznacza czy spowodował wcześniej szkodę ( radio tak/nie), wybiera w ilu ratach zapłaci (1 lub 2 lub 4). Do rat jeszcze nie doszedłem.
Przykład: wpisujesz kwotę ubezpieczenia 5000zł, podstawowa składka za tę kwotę to 130zł, jeśli masz bezszkodową jazdę to 1300,95 , jeśli szkodowa jazda to 1301,08 , następnie ten wynik maleje lub rośnie w zależności od liczby rat.
Pytanie: co zrobić by wyciągnąć wartość z radio i przemnożyć przez podstawową składkę ? podkreślony fragment kodu else if(1000 >= sumaUbezpieczenia) to moja propozycja ale jak widać nie działa :/ z góry dzięki wielkie za pomoc!

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>FORMULARZ UBEZPIECZENIA</title> <meta name="description" content="Interaktywny formularz pozwalający obliczyć składkę ubezpieczenia.">
<link rel="stylesheet" href="mainformularz.css">
  
<script>
    var szkoda = document.getElementByName("szkoda").value;
    var podstawa20 = 20;
    var podstawa70 = 70;
    var podstawa130 = 130;
    var podstawa180 = 180;
    var podstawa200 = 200;

    
    function obliczanieRaty(){
        var znizka = 0.95;
        var zwyzka = 1.08;
        var podstawa20 = 20;
        var podstawa70 = 70;
        var podstawa130 = 130;
        var podstawa180 = 180;
        var podstawa200 = 200;
        var tekstKoncowy = "Wysokość składki na ubezpieczenie wynosi: ";
        var sumaUbezpieczenia = document.getElementById("kwota").value;
        var podsumowanie = tekstKoncowy + sumaUbezpieczenia + " PLN";
      
        
        if (sumaUbezpieczenia < 100){
            document.getElementById("kosztPoliczony").innerHTML = "Podana suma ubezpieczenia jest zbyt niska";
            }
        else if(1000 >= sumaUbezpieczenia){

           ____ if (szkoda[0].checked === true) {__
                __document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy + (podstawa20 * znizka) + "PLN"+"100-1000";
            } __
          __  else{__
              __ document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy + (podstawa20 * zwyzka) + "PLN"+"100-1000";
            }  ____
        }
        else if (3000 >= sumaUbezpieczenia){
                document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy+podstawa70+"PLN"+"1000-3000";
        }
        else if (6000 >= sumaUbezpieczenia){
                document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy+podstawa130+"PLN"+"3000-6000";
        }
        else if (9000 >= sumaUbezpieczenia){
                document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy+podstawa180+"PLN"+"6000-9000";
        }
        else if(10000 >= sumaUbezpieczenia){
                document.getElementById("kosztPoliczony").innerHTML = tekstKoncowy+podstawa200+"PLN"+"9000-10000";
        }
        else{
            document.getElementById("kosztPoliczony").innerHTML = "Podana suma ubezpieczenia jest zbyt wysoka";
        }
    };
               
</script>
</head> <body>

Oblicz koszt składki swojego ubezpieczenia

<label>Podaj sumę ubiezpieczenia w przedziale 100-10.000 PLN <input id="kwota" type="number"  min="100" max="10000" onchange="obliczanieRaty()"></label>;
</br>

Liczba rat: 
<form action="listaRat">
<select name="liczbaRat">
	<option value="1">Całość opłacona z góry</option>
	<option value="2">2</option>
	<option value="4">4</option>
</select>
</form>

<p>Czy w okresie ubezpieczenia wystąpiła szkoda?
<label>nie<input id="szkodaNie" type="radio" name="szkoda" value="0" checked="checked"></label>
<label>tak<input id="szkodaTak" type="radio" name="szkoda" value="1"/></label>
 </p>
<h2 id=kosztPoliczony></h2>
</body> </html>
0

Pierwszy wynik jaki zwróciło Google dla hasła
javascript radio button value.
Przy okazji (pewnie coś pominę, ale oczy mi się zamykają):

  • wrzucaj kod do jakiegoś edytora online, np. jsbin;
  • stosuj konsekwentnie wcięcia, bo teraz robisz niepotrzebny bałagan;
  • nie zaśmiecaj globalnej przestrzeni nazw (deklaracje zmiennych na początku tagu script);
  • po co Ci dwa razy te same deklaracje?
  • nie używaj polskich nazw zmiennych funkcji;
  • zdarzenia podpinaj do elementów w JSie, nie HTMLu (zamiast onchange użyj addEventListener);
  • podpięcie zdarzenia do elementu #kwota oznacza, że JS pobierze wartość radio w momencie zmiany wartości pola #kwota, nie radio. Jesteś pewien, że chcesz aby to tak działało?
  • strasznie dużo niepotrzebnych powtórzeń. Co zrobisz gdy przyjdzie Ci rozbudować pętlę if...else... o kolejnych - powiedzmy - 10 elementów a za jakiś czas trzeba będzie zmienić wypluwany tekst? Nie sądzisz, że byłoby to upierdliwe?
  • skoro wynik ma być uzależniony od tego czy jazda była bezszkodowa to może warto by do jednej zmiennej przypisać wartość współczynnika modyfikującego kwotę w zależności od wybranej opcji a następnie przemnożyć wpisaną kwotę przez ów współczynnik? Podpowiedź - użyj if...else...

1 użytkowników online, w tym zalogowanych: 0, gości: 1