Javascript 简单文本字段计算不起作用
我已经做了很多,这看起来像是一个简单的计算,但由于某些原因,我的代码没有产生我需要的结果 我正在尝试创建一个计算器,它可以执行以下操作。用户输入他们的体重和体脂百分比。他们还输入他们推荐的每日水分比率和每日蛋白质比率 接下来,计算器将获取输入的体重和体脂百分比,并将其相乘以获得脂肪重量的磅数,然后将获取体重并减去脂肪重量的磅数以得出瘦体重 接下来,它将以瘦体重乘以推荐的每日水比率,以计算每日取水量 最后,将瘦体重乘以推荐的每日蛋白质比率,计算每日蛋白质摄入量 以下是我到目前为止的情况 非常感谢您的帮助。谢谢Javascript 简单文本字段计算不起作用,javascript,html,css,text,Javascript,Html,Css,Text,我已经做了很多,这看起来像是一个简单的计算,但由于某些原因,我的代码没有产生我需要的结果 我正在尝试创建一个计算器,它可以执行以下操作。用户输入他们的体重和体脂百分比。他们还输入他们推荐的每日水分比率和每日蛋白质比率 接下来,计算器将获取输入的体重和体脂百分比,并将其相乘以获得脂肪重量的磅数,然后将获取体重并减去脂肪重量的磅数以得出瘦体重 接下来,它将以瘦体重乘以推荐的每日水比率,以计算每日取水量 最后,将瘦体重乘以推荐的每日蛋白质比率,计算每日蛋白质摄入量 以下是我到目前为止的情况 非常感谢您
<!DOCTYPE html>
<html>
<head>
<title>Dr. Kosimides Lean Body Academy Calculator</title>
<style type = "text/css">
body
{
background:#FFC;
}
div
{
border:2px solid #F69;
padding:10px 40px;
background:#FCC;
width:600px;
border-radius:20px;
box-shadow: 10px 10px 2px #CCC;
text-align: center;
margin-right:auto;
margin-left:auto;
}
h1
{
color:#F06
text-align:center;
}
</style>
</head>
<body>
<div>
<form>
<h1>LBA Calculator</h1>
<br />
<label> Weight
<input type="text" name="weight" id="weight" /> (lbs)
</label>
<label> Body Fat
<input type="text" name="bodyfat" id="bodyfat" /> (%)
</label>
<br />
<br />
<label> Protein
<input type="text" name="protein" id="protein" />
</label>
<br />
<label> Water
<input type="text" name="water" id="water" />
</label>
<br />
<br />
<label> Pounds of Body Fat
<input type="text" name="lbf" id="lbf" />
</label>
<br />
<br />
<label> Lean Body Mass
<input type="text" name="lbm" id="lbm" />
</label>
<br />
<br />
<label> Daily Water Intake
<input type="text" name="dwi" id="dwi" />
</label>
<br />
<br />
<label> Daily Protein Intake
<input type="text" name="dpi" id="dpi" />
</label>
<input type="button" name="Calculate" value="Calculate" onClick="LBAcalc()" />
<input type="reset" name="Reset" value="reset" />
</form>
</div>
<script>
function LBAcalc()
{
// Get The Input
var w_txt = document.getElementById('weight');
var bf_txt = document.getElementById('bodyfat');
var p_txt = document.getElementById('protein');
var h20_txt = document.getElementById('water');
// Convert To Numbers If Needed
var w = parseInt(w_txt.value);
var bf = parseInt(bf_txt.value);
var p = parseInt(p_txt.value);
var h20 = parseInt(h20_txt.value);
// Convert body fat to percentage
bf = bf / 100;
// Validate Inputs
var errMsg = "";
if (w <= 0)
errMsg = errMsg + "*Weight cannot be negative \n";
if (w == "")
errMsg = errMsg + "*Weight must be entered \n";
if ( bf <= 0)
errMsg = errMsg + "*Body Fat cannot be negative \n";
// If Error Inform User
if (errMsg != "")
alert(errMsg);
else
// If No Error Process and Display Results
var result = document.getElementById ('lbf');
var myResult = w * bf;
result.value = myResult.toFixed(1);
var result1 = document.getElementById ('lbm');
var myResult1 = w - myResult;
result1.value = myResult1.toFixed(1);
var result2 = document.getElementById ('dwi');
var myResult2 = w * myResult1;
result2.value = myResult2.toFixed(1);
var result3 = document.getElementById ('dpi');
var myResult3 = myResult * p;
result3.value = myResult3.toFixed(1);
}
</script>
</body>
</html>
科西米斯博士瘦身学院计算器
身体
{
背景:#FFC;
}
div
{
边框:2px实心#F69;
填充:10px 40px;
背景:#FCC;
宽度:600px;
边界半径:20px;
盒影:10px 10px 2px#CCC;
文本对齐:居中;
右边距:自动;
左边距:自动;
}
h1
{
颜色:#F06
文本对齐:居中;
}
LBA计算器
重量
(磅)
体脂
(%)
蛋白质
水
磅体脂
瘦体重
每日取水量
每日蛋白质摄入量
函数LBAcalc()
{
//获取输入
var w_txt=document.getElementById('weight');
var bf_txt=document.getElementById('bodyfat');
var p_txt=document.getElementById('protein');
var h20_txt=document.getElementById('water');
//如果需要,将其转换为数字
var w=parseInt(w_txt.value);
var bf=parseInt(bf_txt.value);
var p=parseInt(p_txt.value);
var h20=parseInt(h20_txt.value);
//将身体脂肪换算成百分比
bf=bf/100;
//验证输入
var errMsg=“”;
如果(w到目前为止您所拥有的一切都正常。唯一的问题是,您忘记在中包含多个项目,否则
:
else {
// If No Error Process and Display Results
var result = document.getElementById ('lbf');
var myResult = w * bf;
result.value = myResult.toFixed(1);
var result1 = document.getElementById ('lbm');
var myResult1 = w - myResult;
result1.value = myResult1.toFixed(1);
var result2 = document.getElementById ('dwi');
var myResult2 = w * myResult1;
result2.value = myResult2.toFixed(1);
var result3 = document.getElementById ('dpi');
var myResult3 = myResult * p;
result3.value = myResult3.toFixed(1);
}
如果没有多个语句,这是完全可以的。就像前面的if
语句一样。但是当有多个语句时,需要使用{}
将它们括起来。如果没有,它将只为else
条件执行第一条语句,并在第一条语句之后执行所有语句,而不考虑条件。到目前为止,您所得到的都是正确的。唯一的问题是,您忘记了在else
中包含多个项:
else {
// If No Error Process and Display Results
var result = document.getElementById ('lbf');
var myResult = w * bf;
result.value = myResult.toFixed(1);
var result1 = document.getElementById ('lbm');
var myResult1 = w - myResult;
result1.value = myResult1.toFixed(1);
var result2 = document.getElementById ('dwi');
var myResult2 = w * myResult1;
result2.value = myResult2.toFixed(1);
var result3 = document.getElementById ('dpi');
var myResult3 = myResult * p;
result3.value = myResult3.toFixed(1);
}
如果没有多个语句,这是完全可以的。就像前面的if
语句一样。但是当有多个语句时,需要使用{}
将它们括起来。如果没有,它将只执行else
条件的第一条语句,并在第一条语句之后执行所有语句,而不考虑条件。代码对我来说非常完美。你到底期望什么,但它产生了什么?嘿,你忘了{
afterelse
。你的else
afterif(errMsg!=”)
没有{}
这段代码对我来说很完美。你到底在期待什么,但它产生了什么?嘿,你忘了{
在else
之后。你的else
afterif(errMsg!=”
没有{}