Javascript 输入返回 NaN 或未定义

标签 javascript html

我正在制作小费计算器,我希望显示小费金额以供用户查看。我遇到的问题是输出显示为“NaN”或“未定义”。我尝试更改我的代码,但我一直得到相同的结果。

function calculateTip() {
  var billInput = document.getElementById('bill');
  var tipPercentage = document.getElementById('tip');
  var tipPercentageCalc = (tipPercentage / 100);
  var tipAmount = (bill * tipPercentageCalc).toFixed(2);
  tipAmount = tipAmount.toString();
  document.getElementById('display_text').innerHTML = 'Tip = $', +tipAmount;

};
<div id='calculate'>
  <p>Bill: $<input id="bill" type="number" name="bill" placeholder="Enter bill amount" onchange="calculateTip()"></p>
  <p>Tip: %<input id="tip" type="number" name="tip" placeholder="15%" onchange="calculateTip()"></p>
  <input type="button" name="submit" onclick="calculateTip();">
</div>
<div id="display">
  <h4 id="display_text"></h4>
</div>

最佳答案

您忘记获取字段的值。因为没有属性 .value,它返回 HTMLObject

function calculateTip() {
    var billInput = parseFloat(document.getElementById('bill').value);
    var tipPercentage = parseFloat(document.getElementById('tip').value);
    var tipPercentageCalc = (tipPercentage / 100);
    var tipAmount = (bill * tipPercentageCalc).toFixed(2);
    tipAmount = tipAmount.toString();
    document.getElementById('display_text').innerHTML = 'Tip = $', + tipAmount;

};

关于Javascript 输入返回 NaN 或未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49538204/

相关文章:

javascript - Onclick 不会在动态创建的 td 标签上触发

javascript - 使用图像映射导航栏实现平滑滚动

javascript - 带 for 循环的函数 - 游戏骰子

javascript - Chrome 扩展 API 未触发 onChanged 事件

java - 处理 JSP 时发生异常 - while 循环

php - 用于搜索的 SQL 查询帮助

css - 图例标记包含在 JQuery Mobile 中左对齐的文本?

javascript - 响应式设计中使用 Canvas 或 SVG 进行图像屏蔽

javascript - 如何停止/取消以 "Run JS Tests"开始且耗时过长的 Chutzpah 测试运行?

javascript - 如何从字符串中删除所有逗号并添加空格?