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

求助:基于HTML单选按钮的静态测验得分统计逻辑实现

解决静态单选按钮测验的得分计算问题

我来帮你搞定这个测验得分统计的需求!其实思路很简单:咱们只需要监听表单的提交事件,然后遍历所有被用户选中的单选按钮,逐个判断它们的value是不是'right',每遇到一个正确选项就把得分加1,最后把结果展示出来就行。

第一步:完善你的HTML结构

首先要确保每个题目的单选按钮属于同一个分组(也就是name属性一致,这样同一题只能选一个选项),然后把所有题目放在一个<form>标签里,方便监听提交事件。这里给你一个完整的示例模块(你可以复制9份来用):

<form id="quizForm">
  <!-- 题目1 -->
  <div class='col-sm-12 col-md-6 col-lg-4 text-center'>
    <p class='question'>题目1:以下哪个是正确选项?</p>
    <div class="options">
      <input type="radio" name="q1" value="wrong"> 选项A
      <input type="radio" name="q1" value="right"> 选项B(正确)
      <input type="radio" name="q1" value="wrong"> 选项C
    </div>
  </div>

  <!-- 题目2(复制这个模块到9个) -->
  <div class='col-sm-12 col-md-6 col-lg-4 text-center'>
    <p class='question'>题目2:这是第二题?</p>
    <div class="options">
      <input type="radio" name="q2" value="right"> 选项A(正确)
      <input type="radio" name="q2" value="wrong"> 选项B
      <input type="radio" name="q2" value="wrong"> 选项C
    </div>
  </div>

  <!-- 提交按钮和得分显示区域 -->
  <div class="text-center mt-4">
    <button type="submit">提交答案</button>
    <p id="scoreResult" class="mt-2"></p>
  </div>
</form>

第二步:添加JavaScript逻辑

接下来写提交事件的处理代码,放在<script>标签里(可以放在HTML底部或者用DOMContentLoaded确保DOM加载完成):

document.getElementById('quizForm').addEventListener('submit', function(e) {
  // 阻止表单默认的提交跳转行为
  e.preventDefault();
  
  // 初始化得分
  let score = 0;
  
  // 获取所有被选中的单选按钮
  const selectedOptions = document.querySelectorAll('input[type="radio"]:checked');
  
  // 遍历每个选中的选项,判断是否正确
  selectedOptions.forEach(option => {
    if (option.value === 'right') {
      score++;
    }
  });
  
  // 显示最终得分
  document.getElementById('scoreResult').textContent = `你的得分是:${score}/9`;
});

几个需要注意的小细节

  • 每个题目的单选按钮name属性必须唯一(比如q1、q2...q9),这样同一题只能选一个选项,避免用户多选同一题的情况。
  • 如果用户有题目没选,那这个题不会被统计,得分会自动跳过未答题,符合常规测验逻辑。
  • 代码里的scoreResult是用来显示得分的元素,你可以根据自己的页面样式调整它的位置和样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:38:14