所以...我的作业说......
创建一个名为calcBMI()
的函数,该函数使用权重和高度文本框中的值执行计算,并将结果分配给BMI文本框。
使用parseInt()函数将值转换为整数。
通过使用documentobject.getElementByID(name)和每个文本框的value属性引用函数内的文本框(换句话说,不要使用函数参数AKA将值传递给函数)。
添加一个事件监听器来调用calcBMI()函数
我在这做过。请记住,html中正在引用javascript文件。每当我按下计算按钮时都没有任何反应。
function calcBMI() {
var weight = parseInt(documentobject.getElementByID("weight"));
var height = parseInt(documentobject.getElementByID("height"));
var result = (weight * 703) / (height * height);
var textbox = documentobject.getElementById('Result');
textbox.value = result;
}
document.getElementById("submit").
addEventListener("click", calcBMI(), false);
答案 0 :(得分:2)
我看到了三件事:
documentobject
而不是document
解决DOM元素问题:
var weight = parseInt(document.getElementByID("weight").value)
对其他变量使用相同的。
看起来您可能正在调用calcBMI()而不是将其作为回调calcBMI发送
.addEventListener("click", calcBMI, false);
您似乎引用了documentobject
而不是document
。
var textbox = documentobject.getElementById('Result');
试试这个:
var textbox = document.getElementById('Result');
希望这有帮助!
答案 1 :(得分:1)
调用addEventListener()
时,需要传递对回调函数的引用。您正在调用该函数,这是不正确的。试试这个:
document.getElementById("submit").addEventListener("click", calcBMI, false);
答案 2 :(得分:0)
您可以将dom元素分配给weight和height变量。你应该得到文本字段的值。
function calcBMI() {
var weight = parseInt(document.getElementByID("weight").value);
var height = parseInt(document.getElementByID("height").value);
var result = (weight * 703) / (height * height);
var textbox = document.getElementById('Result');
textbox.value = result;
}