Javascript 体重指数计算器英尺-英寸转换错误

Javascript 体重指数计算器英尺-英寸转换错误,javascript,Javascript,上图是我目前正在使用的体重指数计算器的截图 下面的JavaScript代码应该将英尺标签(ftheight)框中提供的值转换为英寸,然后将其与英寸标签(inheight)中提供的值相加,然后将结果乘以2.54,将其转换为厘米(cm) 给出的BMI结果是错误的,例如,体重为75公斤,身高为5英尺9“,BMI结果显示为0.31,而不是24.42。但当我将英尺的值更改为0或空白,将英寸的值更改为69时,它给出了正确的结果24.42 HTML 您的体重(kg): 您的身高: 脚: 英寸: 你的体重

上图是我目前正在使用的体重指数计算器的截图

下面的JavaScript代码应该将英尺标签(ftheight)框中提供的值转换为英寸,然后将其与英寸标签(inheight)中提供的值相加,然后将结果乘以2.54,将其转换为厘米(cm)

给出的BMI结果是错误的,例如,体重为75公斤,身高为5英尺9“,BMI结果显示为0.31,而不是24.42。但当我将英尺的值更改为0或空白,将英寸的值更改为69时,它给出了正确的结果24.42

HTML


您的体重(kg):


您的身高:

脚: 英寸:


你的体重指数:

这意味着:

JAVASCRIPT

function calculateBmi() {
var weight = document.bmiForm.weight.value
var result = 2.54 * (document.bmiForm.ftheight.value * 12 + document.bmiForm.inheight.value)
var height = result
if(weight > 0 && height > 0){   
var finalBmi = weight/(height/100*height/100)
document.bmiForm.bmi.value = finalBmi
if(finalBmi < 18.5){
document.bmiForm.meaning.value = "Hmm... you are too thin."
}
if(finalBmi > 18.5 && finalBmi < 25){
document.bmiForm.meaning.value = "Yah! you are healthy."
}
if(finalBmi > 25){
document.bmiForm.meaning.value = "Oops... you are overweight."
}
}
else{
alert("Please Fill in everything correctly")
}
}
函数calculateBmi(){
var-weight=document.bmiForm.weight.value
var结果=2.54*(document.bmiForm.ftheight.value*12+document.bmiForm.inheight.value)
变量高度=结果
如果(重量>0和高度>0){
var finalBmi=重量/(身高/100*身高/100)
document.bmiForm.bmi.value=finalBmi
如果(最终最小值<18.5){
document.bmiForm.means.value=“嗯……你太瘦了。”
}
如果(finalBmi>18.5&&finalBmi<25){
document.bmiForm.means.value=“耶!你很健康。”
}
如果(最终最小值>25){
document.bmiForm.means.value=“哎呀……你超重了。”
}
}
否则{
提醒(“请正确填写所有内容”)
}
}

我想要的是首先将输入到英尺框中的值转换为英寸,并将其与英寸框中提供的值相加,然后将结果乘以2.54,得到
var height的值

我将重量输入更改为type number(使其与其他输入保持一致),然后调用输入值(因为默认情况下,输入值通常存储为文本,而不是数字)

如果希望将值限制为整数,可以将其更改为ft和inch值

如果您发现输出是“丑陋的”,那么您也可以使用来限制结果中显示的小数数

函数calculateBmi(){
var-weight=parseFloat(document.bmiForm.weight.value);
var ftHeight=parseFloat(document.bmiForm.ftHeight.value);
var inHeight=parseFloat(document.bmiForm.inHeight.value);
可变高度=2.54*(英尺高度*12+英寸高度);
如果(重量>0和高度>0){
var finalBmi=重量/(身高/100*身高/100)
document.bmiForm.bmi.value=finalBmi
如果(最终最小值<18.5){
document.bmiForm.means.value=“嗯……你太瘦了。”
}否则如果(finalBmi>18.5&&finalBmi<25){
document.bmiForm.means.value=“耶!你很健康。”
}否则,如果(最终最小值>25){
document.bmiForm.means.value=“哎呀……你超重了。”
}
}否则{
提醒(“请正确填写所有内容”)
}
}

JS-Bin
您的体重(kg):


您的身高:

脚: 英寸:


你的体重指数:

这意味着:


我将权重输入更改为数字类型(以使其与其他输入保持一致),然后调用输入值(因为默认情况下,输入值通常存储为文本,而不是数字)

如果希望将值限制为整数,可以将其更改为ft和inch值

如果您发现输出是“丑陋的”,那么您也可以使用来限制结果中显示的小数数

函数calculateBmi(){
var-weight=parseFloat(document.bmiForm.weight.value);
var ftHeight=parseFloat(document.bmiForm.ftHeight.value);
var inHeight=parseFloat(document.bmiForm.inHeight.value);
可变高度=2.54*(英尺高度*12+英寸高度);
如果(重量>0和高度>0){
var finalBmi=重量/(身高/100*身高/100)
document.bmiForm.bmi.value=finalBmi
如果(最终最小值<18.5){
document.bmiForm.means.value=“嗯……你太瘦了。”
}否则如果(finalBmi>18.5&&finalBmi<25){
document.bmiForm.means.value=“耶!你很健康。”
}否则,如果(最终最小值>25){
document.bmiForm.means.value=“哎呀……你超重了。”
}
}否则{
提醒(“请正确填写所有内容”)
}
}

JS-Bin
您的体重(kg):


您的身高:

脚: 英寸:


你的体重指数:

这意味着:


我不确定你做错了什么,但这对我很有用


尝试使用
id
而不是
name

我不确定你做错了什么,但这对我很有效

尝试使用
id
而不是
name

function calculateBmi() {
var weight = document.bmiForm.weight.value
var result = 2.54 * (document.bmiForm.ftheight.value * 12 + document.bmiForm.inheight.value)
var height = result
if(weight > 0 && height > 0){   
var finalBmi = weight/(height/100*height/100)
document.bmiForm.bmi.value = finalBmi
if(finalBmi < 18.5){
document.bmiForm.meaning.value = "Hmm... you are too thin."
}
if(finalBmi > 18.5 && finalBmi < 25){
document.bmiForm.meaning.value = "Yah! you are healthy."
}
if(finalBmi > 25){
document.bmiForm.meaning.value = "Oops... you are overweight."
}
}
else{
alert("Please Fill in everything correctly")
}
}