Javascript 按钮无法与功能一起使用

标签 javascript html

我不明白为什么这个功能不起作用。赋值指令要求 javascript 函数代码位于其自己的 javascript 文件中。

这是 html

<h2>BMI Calculator</h2>

  <form>
     <input type="text" id="weight" value="0" />
     <label for="weight">Weight in pounds</label>
     <input type="text" id="height" value="0" />
     <label for="height">Height in inches</label>
     <input type="text" id="Result" value="0" />
     <label for="Result"> BMI Result </label>
     <input type="submit" id="submit" value="Calculate BMI" />
    </form>

这是基于该形式的函数。它应该计算bmi。

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').value;

    textbox.value = result;
}

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

最佳答案

三件事:

  1. getElementById 必须采用驼峰式大小写。末尾不带大写 D

  2. 对文本框的引用应该只是 var textbox = document.getElementById('Result'),而不是在末尾加上 .value

  3. 按钮的类型应为 button,否则将发布表单。

您的工作示例:

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

document.getElementById("submit").addEventListener("click", calcBMI, false);
<h2>BMI Calculator</h2>

<form>
  <input type="text" id="weight" value="0" />
  <label for="weight">Weight in pounds</label>
  <input type="text" id="height" value="0" />
  <label for="height">Height in inches</label>
  <input type="text" id="Result" value="0" />
  <label for="Result"> BMI Result </label>
  <input type="button" id="submit" value="Calculate BMI" />
</form>

关于Javascript 按钮无法与功能一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46181366/

相关文章:

javascript - 粘性导航栏技巧(jquery 已修复)

javascript - 在二维数组中动态推送新列

javascript - 检查文本值的一部分是否包含在另一个文本值中

PHP如何通过复选框获取多行表单

javascript - DIV 宽度不合逻辑地卡住了,无法更改

javascript - JQUERY:Div slider 有时显示 2 个 div

javascript - 为什么 event.target 给出多个结果?

html - 仅使用 CSS 删除单选按钮文本

javascript - 将 ul 中的第一项插入到最后

javascript - 使用正则表达式在字符串 html 中查找链接