• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z kodem w JavaScript - kalkulator kalorii

Object Storage Arubacloud
0 głosów
249 wizyt
pytanie zadane 14 czerwca 2020 w JavaScript przez Zkościnakrągłości Nowicjusz (140 p.)

Cześć,

Niedawno zaczęłam tworzyć kalkulator kalorii. Chciałam aby strona została podzielona pionowo na pół i po lewej stronie był kalkulator dla kobiet, a po prawej dla mężczyzn. Kalkulator ma liczyć dzienne zapotrzebowanie kcal przy uwzględnieniu masy ciała, wzrostu i wieku i poziomu aktywności- ta część działa.

Mój problem pojawił się gdy chciałam dodać opcję gdzie wybieramy, czy chcemy przytyć czy schudnąć czy pozostać przy tej samej wadze. Nie wyświetla się wynik. Chciałabym aby waga, wzrost, wiek, poziom aktywności i to czy chcemy schudnąć czy przytyć pokazywało ostateczny wynik.

 

Proszę o pomoc

<!DOCTYPE HTML>
<html lang="pl">
<head>
    <meta charset="utf-8">
    <title>Licznik kalorii: Z kości na krągłości</title>

    <meta http-equiv="X-UA-Compatible" content="IE=egde,chrome=1"/>

    <link rel="stylesheet" href="style.css">

    <link href="https://fonts.googleapis.com/css?family=Anton|Bangers|Rajdhani:400,700&display=swap&subset=latin-ext" rel="stylesheet">

</head>
<body>
    <script type="text/javascript">
    

    //male
    function calcObliczM(){
        
        var weight = parseFloat(document.kcalform.weight.value);
        //var weight = document.getElementById("weight").value;

        var height = parseFloat(document.kcalform.height.value);
        //var height = document.getElementById("height").value;
        
        var age = parseFloat(document.kcalform.age.value);
        //var age = document.getElementById("age").value;

        var activity = parseFloat(document.kcalform.activity_level_M.value);

        var kcal = (66.47 + (13.75 * weight) + (5.003 * height) - (6.755 * age)) * activity;
        
        document.kcalform.kcal.value = Math.round(kcal*100)/100.0;
        //document.getElementById("bmr").value = bmr;
    }


    //female
    function calcObliczK(){
        
        var weight1 = parseFloat(document.kcalform1.weight1.value);
        //var weight = document.getElementById("weight").value;

        var height1 = parseFloat(document.kcalform1.height1.value);
        //var height = document.getElementById("height").value;
        
        var age1 = parseFloat(document.kcalform1.age1.value);
        //var age = document.getElementById("age").value;
        
        var activity_K = parseFloat(document.kcalform1.activity_level_K.value);

        var kcal1 = (655 + (9.6 * weight1) + (1.8 * height1) - (4.7 * age1)) * activity_K;
        
        document.kcalform1.kcal1.value = Math.round(kcal1*100)/100.0;
        //document.getElementById("bmr").value = bmr;
    }

    
    </script>
    <div id="tytuł"> KALKULATOR KALORII </div>
    
    <form method="post" action="#" name="kcalform">
        <div id="toLeft">
            <fieldset id="Panowie">
                <legend>Panowie</legend>

                <label for="">Podaj swoją wagę:</label>
                <input type="text" id="weight" value="" size="20" placeholder="Wpisz swoją wagę" name="weight" required>

                <label for="">Podaj swój wzrost:</label>
                <input type="text" id="height" value="" size="20" placeholder="Wpisz swój wzrost" name="height" required>

                <label for="">Podaj swój wiek:</label>
                <input type="text" id="age" value="" size="20" placeholder="Wpisz swój wiek" name="age" required>

                <label>Poziom aktywności</label>
                <select name="activity_level_M" id="activity_level_M" required>
                    <option value="">Wybierz</option>
                    <option value="1.2">Brak aktywności, praca siedząca</option>
                    <option value="1.375">Niska aktywność(praca siedząca, treningi 1-2 razy w tygodniu)</option>
                    <option value="1.55">Średnia aktywność(praca siedząca, treningi 3-4 razy w tygodniu)</option>
                    <option value="1.725">Wysoka aktywność (praca fizyczna, treningi 3-4 raazy w tygodniu)</option>
                    <option value="1.9">Bardzo wysoka aktywność (zawodowy sportowiec, osoba trenująca codziennie)</option>
                </select>

                <br/>
                    <input type="reset" value="Reset" id="reset">
                    
                    <input type="button" value="Oblicz" onClick="calcObliczM();" id="calc">

                <br/>

                <div class="resetOblicz">
                    <label for="">TWÓJ WYNIK:</label>
                    <input type="text" value="" size="20" placeholder="Twój wynik" name="kcal" id="kcal" readonly>
                </div>

            </fieldset>
        </div>
    </form>
    <form method="post" action="#" name="kcalform1">      
        <div id="toRight">
            <fieldset id="Panie">
                <legend>Panie</legend>

                <label for="">Podaj swoją wagę:</label>
                <input type="text" id="weight1" value="" size="20" placeholder="Wpisz swoją wagę" name="weight1" required>

                <label for="">Podaj swój wzrost:</label>
                <input type="text" id="height1" value="" size="20" placeholder="Wpisz swój wzrost" name="height1" required>

                <label for="">Podaj swój wiek:</label>
                <input type="text" id="age1" value="" size="20" placeholder="Wpisz swój wiek" name="age1" required>

                <label>Poziom aktywności</label>

                <select name="activity_level_K" id="activity_level_K" required>

                    <option value="">Wybierz</option>
                    <option value="1.2">Brak aktywności, praca siedząca</option>
                    <option value="1.375">Niska aktywność(praca siedząca, treningi 1-2 razy w tygodniu)</option>
                    <option value="1.55">Średnia aktywność(praca siedząca, treningi 3-4 razy w tygodniu)</option>
                    <option value="1.725">Wysoka aktywność (praca fizyczna, treningi 3-4 raazy w tygodniu)</option>
                    <option value="1.9">Bardzo wysoka aktywność (zawodowy sportowiec, osoba trenująca codziennie)</option>

                </select>
                <label>Wybierz swój cel:</label>

                <select name="gain_loss_amount" id="gain_loss_amount" required>

                  <option value="">Wybierz</option>
                  <option value="-1000">Stracić 2 kg tygodniowo</option>
                  <option value="-750">Stracic 1,5 kg tygodniowo</option>
                  <option value="-500">Stracić 1 kg tygodniowo</option>
                  <option value="-250">Stracić 0,5 kg tygodniowo</option>
                  <option value="0">Pozostać przy swojej wadze</option>
                  <option value="250">Przybrać 0,5 kg tygodniowo</option>
                  <option value="500">Przybrać 1 kg tygodniowo</option>
                  <option value="750">Przybrać 1,5 kg tygodniowo</option>
                  <option value="1000">Przybrać 2 kg tygodniowo</option>
                </select>
                <br/>

                
                    <input type="reset" value="Reset" class="reset">
                    
                    <input type="button" value="Oblicz" onClick="calcObliczK();" id="calc1">

                <br/>


                    <label for="">TWÓJ WYNIK:</label>
                    <input type="text" value="" size="20" placeholder="Twój wynik" name="kcal1" id="kcal1" readonly>
                
                
            
            </fieldset>
        </div>
    </form>
</body>
</html>

 

1
komentarz 14 czerwca 2020 przez rafal.budzis Szeryf (85,260 p.)

Chyba wstawiłaś nie ten kod :) Bo u mnie wynik się pokazuje ale wybrana wartość nie jest brana pod uwagę. Nie jest używana nigdzie w kodzie.

Taka uwaga UXowa warto dopisać ze wzrost podajemy w cm ;) Warto też wspomnieć że wartości są orientacyjne aby ktoś nie przesadził z kaloriami. W moim wypadku wzór dodaje mi jakieś 300 kalorii powyżej mojej normy.  

1 odpowiedź

0 głosów
odpowiedź 14 czerwca 2020 przez SzkolnyAdmin Szeryf (86,360 p.)
edycja 14 czerwca 2020 przez SzkolnyAdmin
Nie pobierasz wartości z pola select.

Podobne pytania

0 głosów
0 odpowiedzi 156 wizyt
pytanie zadane 16 maja 2019 w JavaScript przez gamper Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 432 wizyt
pytanie zadane 6 września 2021 w Ruby przez Rekert Użytkownik (530 p.)
0 głosów
1 odpowiedź 109 wizyt

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...