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

使用HTML、JS和表单制作简单测验的结果显示问题求助

你的极简测验代码问题排查与修复

嘿,我帮你看看这个极简测验的问题哈!从你给出的截断代码来看,大概率是这几个地方出了问题,咱们一步步捋:

1. 表单元素没写全或标识错误

你提到有两个问题,但当前HTML里只显示了问题1的部分,答案输入区域的代码还没写完(看到<l...就断了)。首先要保证每个问题的答案输入框有清晰的id,这样JS才能准确拿到用户输入的值。

给你补全一个合理的HTML结构参考:

<body>
  <table>
    <tr>
      <th>Questions</th>
      <th>Answer</th>
    </tr>
    <tr>
      <td id="q1"> Water is 
        <ol>
          <li> Wet</li>
          <li> Ordinary</li>
          <li>Purify </li>
          <li> Water</li>
        </ol>
      </td>
      <td>
        <!-- 给输入框加id,方便JS获取 -->
        <input type="text" id="ans1" placeholder="输入选项序号">
      </td>
    </tr>
    <tr>
      <td id="q2"> 举个例子:2+2=?
        <ol>
          <li> 3</li>
          <li> 5</li>
          <li>2 </li>
          <li> 4</li>
        </ol>
      </td>
      <td>
        <input type="text" id="ans2" placeholder="输入选项序号">
      </td>
    </tr>
  </table>
  <!-- 绑定批改按钮的点击事件 -->
  <button onclick="checkQuiz()">批改测验</button>
  <!-- 用来显示结果的容器 -->
  <div id="result" style="margin-top:20px;font-size:18px;"></div>

  <!-- 引入外部JS文件,注意路径要对 -->
  <script src="your-quiz-script.js"></script>
</body>

2. JS文件里的逻辑或DOM操作出错

这是最容易踩坑的地方,常见问题有这几个:

  • 没正确获取输入框的值(比如忘了加.value,或者id拼写错了)
  • 条件判断逻辑写反或者写错(比如把「或」||写成「且」&&,或者没注意用户输入的是字符串,你用数字去比较)
  • 找不到显示结果的元素,或者修改颜色的方式不对

给你写个正确的外部JS代码示例:

function checkQuiz() {
  // 获取用户输入,记得trim()去掉首尾空格,避免用户不小心输了空格导致判断失败
  const userAns1 = document.getElementById('ans1').value.trim();
  const userAns2 = document.getElementById('ans2').value.trim();
  
  // 获取用来显示结果的元素
  const resultBox = document.getElementById('result');
  
  // 你的需求:问题1答案是"1" 或者 问题2答案是"4"就显示绿色,否则红色
  if (userAns1 === '1' || userAns2 === '4') {
    resultBox.textContent = '答对啦!';
    resultBox.style.color = '#2ecc71'; // 柔和的绿色
  } else {
    resultBox.textContent = '答错了哦,再试试?';
    resultBox.style.color = '#e74c3c'; // 柔和的红色
  }
}

3. 容易忽略的小细节

  • 确保外部JS文件的路径正确!如果JS和HTML在同一个文件夹里,src里直接写文件名就行,别写错大小写
  • 如果输入框用了type="number",那用户输入的是数字类型,这时候判断要改成userAns1 === 1,但更推荐用text类型,避免用户输入非数字时出现异常
  • 按钮的onclick事件名要和JS里的函数名完全一致(大小写也要对!比如checkQuiz不能写成checkquiz)

你对照着上面的内容检查自己的代码,应该就能找到问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:25:30