You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的if条件未执行?附HTML/JavaScript代码求助

解决calcAmount6函数if条件不执行的问题

你的问题核心是输入框获取的value是字符串类型,直接做加法运算时会变成字符串拼接,而非数字相加。举个例子:如果amount6输入5000,amount7输入6000,userAmount5 + userAmount6得到的是字符串"50006000",转成数字后远大于12000,所以你的if条件永远不会触发。

只需要把获取到的输入值转换成数字类型,就能解决这个问题。这里提供几种常用的转换方式,同时还加了空输入的容错处理,避免出现NaN异常:

修改后的calcAmount6函数代码如下:

function calcAmount6(){
  // 将输入值转换为数字类型
  var userAmount5 = Number(document.getElementById("amount6").value);
  var userAmount6 = Number(document.getElementById("amount7").value);
  var oneLevel1 = 12000;
  
  // 处理输入为空/非数字的情况,默认设为0
  userAmount5 = isNaN(userAmount5) ? 0 : userAmount5;
  userAmount6 = isNaN(userAmount6) ? 0 : userAmount6;
  
  if (userAmount5 + userAmount6 < oneLevel1) {
    document.getElementById("marginAmount6").textContent = "不合格!";
  } else if (userAmount5 + userAmount6 >= oneLevel1) {
    document.getElementById("marginAmount6").textContent = Math.round(userAmount5 * 13 / 100) + (userAmount6 * 5 / 100) + "€";
  }
}

现在你可以测试一下:比如输入amount6=5000、amount7=6000,总和11000小于12000,这时候marginAmount6就会正确显示“不合格!”了。

内容的提问来源于stack exchange,提问作者Philippe Delestan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:08:58