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

JS脚本无法在HTML页面输出表单计算结果的修复方法

问题修复说明

你的代码存在3处导致运行异常的问题:

  • 单选按钮DOM获取大小写不匹配:HTML里单选组的name属性值是Nalog(首字母大写),JS中写的是全小写的nalog,无法正确获取到单选按钮组,触发JS报错
  • solve()函数缺少闭合的大括号,属于基础语法错误,整个函数无法被正常解析执行
  • 未做输入值的类型转换与空值兜底:输入框拿到的value默认是字符串类型,空输入时直接计算会得到NaN的异常结果
修复后可直接运行的代码
<html lang="ru">
<head>
  <meta charset="utf-8">
  <title>Калькулятор</title>
</head>
<body>
  <FORM NAME="Form1">
    <p><b>Какая у вас ЗП?</b></p>
    <INPUT TYPE="number" id="salary" class="value" placeholder="Enter an integer" />

    <p><b>Ваш подоходный налог 13%?</b></p>
    <INPUT TYPE="radio" name="Nalog" id="da" value="Yes">Да
    <INPUT TYPE="radio" name="Nalog" id="net" value="No">Нет

    <br>Посчитаем сумму налога?
    <INPUT TYPE ="button" value="Посчитать" onClick="solve();">

    <p id="result"></p>
  </form>

  <script>
    var output = document.getElementById("result");
    function solve() {
      // 输入值转数字,空输入兜底为0
      var input = Number(document.getElementById("salary").value) || 0;
      output.innerHTML = "";
      // 修正单选组名称的大小写匹配问题
      if (document.Form1.Nalog[0].checked) {
        output.innerHTML = input * 0.13;
      } else {
        output.innerHTML = 0;
      }
    } // 补全函数缺失的闭合括号
  </script>
</body>
</html>
运行效果说明
  • 选中「Да(是)」且输入整数时,页面会展示输入薪资乘以13%的个税计算结果
  • 选中「Нет(否)」、未选择任何单选按钮、未输入薪资值时,结果统一展示为0
  • 修复后不会再出现JS报错、计算结果异常的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:09:16