Я должен написать код javascript для html-страницы, которая рассчитает ИМТ лиц и сообщит им, что это значит (номер). Правила теста заключались в том, чтобы не изменять html на странице, а просто написать код javascript и связать его с html-страницей. Это все. Я скопировал html-страницу на случай, если вы, ребята, захотите взглянуть на нее. Вот что должен делать калькулятор BMI, используя javascript:Как написать javascript-код для BMI_Calculator.html?
- Человек вводит имя, выбирает пол, вводит вес и высоту. Приложение рассчитает людей BMR, BMI и скажет, что это значит (т. Е. Сказать «вы слишком тонкие», «вы здоровы» или «у вас избыточный вес»). , и он отобразит изображение тонкого, здорового или избыточного веса человека, который является png-изображением.
- Если они не вводят имя, сообщение об ошибке предложит им ввести имя. Имя должно содержать не менее пяти символов.
- Если они не выбрали пол, тогда сообщение об ошибке предложит им выбрать пол. Пол представлен радиокнопкой. Пользователь выбирает мужчин или женщин.
- Если пользователь не вводит вес, сообщение об ошибке предложит им ввести вес.
- Если высота не указана, сообщение об ошибке предложит им ввести высоту.
- Если вы мужчина, вы BMR рассчитывается как: BMR = 10 * (вес + 6.25) (высота-5) (возраст + 5).
- Если вы женщина, вы BMR рассчитывается как: BMR = 10 * (вес + 6.25) (высота-5) (возраст-161).
- Если ИМТ меньше 18,5: «вы слишком тонкие».
- Если ИМТ составляет от 20 до 25: «вы здоровы».
- Если ИМТ больше 25: «у вас избыточный вес».
Кроме того, пожалуйста, не ставьте вопрос на удержание или удалите его. Это важно для меня, и мне нужна помощь. Если вы хотите получить помощь, пожалуйста, не делайте этого. Мне потребовалось много времени, чтобы написать этот вопрос.
Вот HTML, что я должен написать код для яваскрипта:
<html>
<head>
<title> BMI Calculator </title>
<style>
label {
display: inline-block;
width: 80px;
height: 25px;
}
button {
height:30px;
margin: 5px 0px;
}
fieldset {
display: inline-block;
}
#errMsg {
color: red;
}
#frm {
float: left;
width: 30%;
}
#imgSec {
float: left;
padding: 5px 0px;
border-left: 3px solid darkblue;
}
</style>
<!-- link to javascript file -->
<script type="text/javascript" src="BMI_javascript.js">
</script>
</head>
<body>
<div id="title"><h3>BMI Calculator</h3></div>
<section id="frm">
<form name="bmiForm" onsubmit="return false;">
<fieldset>
<legend>Enter your Details:</legend>
<label for="user">Name:</label>
<input type="text" id="user" size="25" required> <br />
<label for="gender">Gender:</label>
<input type="radio" id="rbMale" name="gender"> Male
<input type="radio" id="rbFemale" name="gender">Female <br />
<label for="age">Age:</label>
<input type="number" id="age" size="10" required> <br />
<label for="weight">Weight(kg):</label>
<input type="number" id="weight" size="10" required> <br />
<label for="height">Height(cm):</label>
<input type="number" id="height" size="10" required> <br />
<div id="errMsg"></div>
</fieldset>
<br>
<button onclick="calculate()">Calculate BMI</button>
<button type="reset" onclick="clearErr()">Reset</button>
<br>
<fieldset>
<legend>Result:</legend>
<label for="bmr">Your BMR: </label>
<input type="text" name="bmr" id="bmr" size="18" readonly><br />
<label for="bmi">Your BMI: </label>
<input type="text" name="bmi" id="bmi" size="10" readonly><br />
<label for="meaning">This Means: </label>
<input type="text" name="meaning" id="meaning" size="25" readonly><br/>
</fieldset>
</section>
<section id="imgSec">
<img id="img" src="" height="250px">
</section>
</form>
</body>
</html>
А вот Javascript я написал для него. Я знаю, что это ужасно. Проблема в том, что код не работает. Ничего не работает.
function GenderType() {
var GenderType = document.getElementsByName("rbMale","rbFemale");
if(rbMale == "Male") {
GenderType.innerHTML = "Male";
} else {
rbFemale == "Female";
GenderType.innerHTML = "Female";
}
}
function validate() {
var name = document.getElementById("name");
var age = document.getElementById("age");
var male = document.getElementById("male");
var female = document.getElementById("female");
var weight = document.getElementById("weight");
var height = document.getElementById("height");
error = false;
var reName = /^[a-zA-Z ]{5,}$/;
if (reName.test(name.value) == false) {
nameError.innerHTML = "Name must be eight letters or more";
error = true;
} else {
nameError.innerHTML = "";
}
age = parseInt(age.value);
if (isNaN(age) || age < 0 || age > 65) {
ageError.innerHTML = "Age must be in range 0-65";
error = true;
} else {
ageError.innerHTML = "";
}
weight = parseInt(weight.value);
if (isNaN(weight) || weight < 0) {
weightError.innerHTML = "Weight must be greater than 0";
error = true;
} else {
weightError.innerHTML = "";
}
height = parseInt(height.value);
if (isNaN(height) || height < 0) {
heightError.innerHTML = "height must be greater than 0"
error = true;
} else {
heightError.innerHTML = "";
}
if (!male.checked & !female.checked) {
genderError.innerHTML = "Select value";
error = true;
} else {
genderError.innerHTML = "";
}
}
function BMRCalculate() {
if (validate()==false) {
var GenderType = document.getElementById("rbMale","rbFemale").value;
var age = document.getElementById("age").value;
var female = document.getElementById("rbFemale");
var male = document.getElementById("rbMale");
var weight = document.getElementById("weight");
var height = document.getElementById("height");
var BMIValue = weight/((height/100)*(height/100));
var BMRValue;
var ThisMeans = document.getElementById("meaning");
if(GenderType == male) {
BMRValue = 10*(weight+6.25)*(height-5)*(age+5);
} else {
GenderType = female;
BMRValue = 10*(weight+6.25)*(height-5)*(age-161);
}
if (BMIValue<18.5) {
ThisMeans = "you are too thin";
document.write(ThisMeans);
} else if (BMIValue>18.5 && BMIValue<25) {
ThisMeans = "you are healthy";
document.write(ThisMeans);
} else {
ThisMeans = "You are not healthy";
document.write(ThisMeans);
}
}
Ваша функция js вызывается: 'function BMRCalculate()', но в вашем html у вас есть: '<кнопка onclick =" calculate() "> Calculate BMI'. Зачем? – dpaul1994
@ user272976 ok Я думаю, что знаю, что вы имеете в виду. Первое, что я должен сделать, это изменить имя из BMRCalculate() для вычисления BMI() Я сделаю это, спасибо вам, бог, благослови вас. Есть ли что-то еще, что я должен изменить, как следует передать функции некоторые параметры? – hugh0210
@gavgrif Я не знаю, на экзамене они сказали мне, что BMR рассчитывается по-разному, и ИМТ рассчитывается по-разному, поэтому я пытался что-то сделать в тесте, и это то, что я мог сделать. Они сказали, что ИМТ равен весу/((высота/100) * (высота/100)); и BMR, если мужчина = BMRValue = 10 * (вес + 6,25) * (высота-5) * (возраст + 5); также BMR, если женщина = 10 * (вес + 6.25) * (высота-5) * (возраст-161); – hugh0210