Javascript 从<;表格>;
这是一个计算理想重量的简单网页。我的问题是,当我输入详细信息并为男性或女性选择单选按钮时,第一个if条件仅起作用,而else if条件不起作用。选择其中一个是给我第一个条件答案 错误是什么?我从表单中获取高度值没有问题,但是性别值给出了这个错误Javascript 从<;表格>;,javascript,html,Javascript,Html,这是一个计算理想重量的简单网页。我的问题是,当我输入详细信息并为男性或女性选择单选按钮时,第一个if条件仅起作用,而else if条件不起作用。选择其中一个是给我第一个条件答案 错误是什么?我从表单中获取高度值没有问题,但是性别值给出了这个错误 函数calculatewight(){ var men=22*Math.pow(document.getElementById('height')。值,2); var=22*Math.pow(document.getElementById('heig
函数calculatewight(){
var men=22*Math.pow(document.getElementById('height')。值,2);
var=22*Math.pow(document.getElementById('height')。值-0.1,2);
if(document.getElementById('genderFemale')。value==“female”){
警惕(“你(女性)的理想体重是:“+女性”;
}else if(document.getElementById('genderMale')。value==“male”){
警惕(“你(男人)的理想体重是:“+男人”;
}
}
输入以下要求:
年龄:
高度:
单位。。。
英寸
英尺
厘米
米
性别:
男性
女性
其他
要获得预期结果,请使用document.getElementById('genderFemale')。选中
document.getElementById('genderMale')。选中了,因为这些ID的值始终分别为女性和男性
JS:
function calculateWeight()
{
var men = 22*Math.pow(document.getElementById('height').value,2);
var women = 22*Math.pow(document.getElementById('height').value - 0.1,2);
if (document.getElementById('genderFemale').checked)
{
console.log(document.getElementById('genderFemale').value)
alert("The Ideal weight for you(women) is : " +women);
}
else if (document.getElementById('genderMale').checked)
{
console.log(document.getElementById('genderMale').value)
alert("The Ideal weight for you (men) is : " +men);
}
}
HTML::对于每个单选按钮,添加onchange函数以调用calculatewight()函数
Height:<input style="margin-left: 30px; padding: 0; width: 102px" list="units" type="number" step="any" name="Height" id="height">
Gender:
<input type="radio" name="gender" id="genderMale" value="male" checked style="margin-left: 20px; padding: 0;" onchange="calculateWeight()"> Male
<input type="radio" name="gender" id="genderFemale" value="female" onchange="calculateWeight()"> Female
<input type="radio" name="gender" value="other" onchange="calculateWeight()"> Other
高度:
性别:
男性
女性
其他
问题在于,您从收音机盒中获取的是一个静态值。如果查看在If语句中获取的信息,就会发现值总是相同的
<input type="radio" name="gender" id="genderFemale" value="female">
您可以这样做:
Height:<input style="margin-left: 30px; padding: 0; width: 102px" list="units" type="number" step="any" name="Height" id="height">
<div id="myForm">
Gender:
<input type="radio" name="gender" id="genderMale" value="male" checked style="margin-left: 20px; padding: 0;"> Male
<input type="radio" name="gender" id="genderFemale" value="female"> Female
<input type="radio" name="gender" value="other"> Other
</div>
<input type="submit" id="submit">
var value = document.querySelector('[name=gender]:checked').value;
if (value === "female") {
alert("The Ideal weight for you(women) is : " +women);
} else if (value == "male") {
alert("The Ideal weight for you (men) is : " +men);
}
除非你非常需要感谢,否则就做一个。我只是浪费了我的时间,只花了2分钟就从你那里得到了答案。谢谢@touqeer,很高兴我的答案帮助了你,如果有助于解决你的问题,你可以标记为已回答:)。。更新代码笔-
document.getElementById("submit").onclick = function(){
var men = 22*Math.pow(document.getElementById('height').value,2);
var women = 22*Math.pow(document.getElementById('height').value - 0.1,2);
var rates = document.getElementById('myForm').value;
if (document.getElementById('genderFemale').checked)
{
alert("The Ideal weight for you(women) is : " +women);
}
else if (document.getElementById('genderMale').checked)
{
alert("The Ideal weight for you (men) is : " +men);
}
}
var value = document.querySelector('[name=gender]:checked').value;
if (value === "female") {
alert("The Ideal weight for you(women) is : " +women);
} else if (value == "male") {
alert("The Ideal weight for you (men) is : " +men);
}