Невозможно получить ответ из JavaScript для отображения на странице HTML - PullRequest
0 голосов
/ 02 мая 2019

На практике я делаю простой калькулятор BMR / TDEE / BMI. Однако HTML и CSS работали нормально, хотя я думаю, что код Javascript в порядке, а формулы верны, я не могу получить результат из кода, который появится на моем калькуляторе. Я надеялся, что смогу понять, что я делаю неправильно.

// Create variables

var height = document.getElementById("height").value / 39.37;
var weight = document.getElementById("weight").value / 2.205;
var activity = document.getElementById("activity").value;
var gender = document.getElementsByClassName("dataGender").value;
var age = document.getElementById("age").value;

//Calculate Tip
function calculateBMI(height, weight) {

  //validate input
if (height === "" || weight == 0) {
alert("Please enter values");
return;
  }

  //Calculate BMI
  var bmi = height / math.pow(weight, 2);
  //round to two decimal places
  bmi = Math.round(bmi * 100) / 100;
  //next line allows us to always have two digits after decimal point
  bmi = bmi.toFixed(2);
  return bmi;
}

function calculateBMR(height, weight, age, gender) {

  var bmr = null;
  switch (gender) {
    case "male":
      bmr = 66.5 + (13.75 * weight) + (5.003 * height) - (6.755 * age);
      break;
    case "female":
      bmr = 655.1 + (9.563 * weight) + (1.850 * height) - (4.676 * age);
      break;
  }
  return bmr;
}

function calculateTDEE(bmr) {

  var tdee = null;
  switch (activity) {
    case "Sedentary":
      tdee = Math.round(bmr * 1.2);
      break;
    case "Light Exercise (1-2 days/week)":
      tdee = Math.round(bmr * 1.375);
      break;
    case "Moderate Exercise (3-5 days/week)":
      tdee = Math.round(bmr * 1.55);
      break;
    case "Heavy Exercise (6-7 days/week)":
      tdee = Math.round(bmr * 1.725);
      break;
    case "Athlete (2x per day)":
      tdee = Math.round(bmr * 1.9);
      break;
  }
  return tdee;
}

function displayResults(bmi, bmr, tdee) {

  //Display the results
  document.getElementById("bmr").style.display = "block";
  document.getElementById("bmr").innerHTML = bmr;
  document.getElementById("bmi").style.display = "block";
  document.getElementById("bmi").innerHTML = bmr;
  document.getElementById("tdee").style.display = "block";
  document.getElementById("tdee").innerHTML = tdee;
}

//click to call function
document.getElementsByClassName("butn").onclick = function() {
  displayResults();

};

Когда я нажимаю кнопку «Рассчитать» на моей веб-странице, она показывает только пустой блок. Помощь будет оценена. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...