繁体   English   中英

从文件调用Javascript函数

[英]Javascript function call from file

所以......我的作业说......

创建一个名为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);

我看到三件事:

  1. 访问DOM对象而不是其值
  2. 使用documentobject而不是document
  3. 调用函数而不是将其作为回调传递。

这是解决DOM元素问题:
var weight = parseInt(document.getElementByID("weight").value)
对其他变量使用相同的。

看起来您可能正在调用calcBMI()而不是将其作为回调calcBMI传递
.addEventListener("click", calcBMI, false);

查看事件监听器上的MDN

它看起来像是引用documentobject而不是document

var textbox = documentobject.getElementById('Result');

尝试这个:
var textbox = document.getElementById('Result');

希望这可以帮助!

调用addEventListener() ,需要传递对回调函数的引用。 您正在调用该函数,这是不正确的。 试试这个:

document.getElementById("submit").addEventListener("click", calcBMI, false);

您将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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM