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

答题提交后同时显示正确错误提示的前端功能问题排查

问题排查与修复方案

根本原因

当前代码仅在控制台打印判断结果,没有控制结果提示元素的显隐逻辑,页面默认会将.result_success和.result_fail两个元素同时展示,就是出现两条提示的核心原因。

具体修复内容

1. 新增基础CSS控制初始状态

先给结果元素增加默认隐藏样式,避免页面刚加载就显示两条提示:

.result p {
  display: none;
}

2. 修正JS逻辑,增加显隐控制

修正后的JS代码同时修复了原有代码的其他潜在问题:

submitButton.addEventListener("click", function(event) {
  event.preventDefault();
  // 改用id选择器精准获取输入框,避免页面有多个input时取值错误
  let userAnswer = document.querySelector('#answer_input').value.trim().toLowerCase();
  // 提前获取所有结果提示元素
  const successTip = document.querySelector('.result_success');
  const failTip = document.querySelector('.result_fail');
  const correctAnswerTip = document.querySelector('.result_correct-answer');
  // 每次提交前先隐藏所有结果,避免残留上一次的提示
  successTip.style.display = 'none';
  failTip.style.display = 'none';
  correctAnswerTip.style.display = 'none';

  if (userAnswer === currentClue.answer.toLowerCase()) {
    // 答对仅显示正确提示
    successTip.style.display = 'block';
  } else {
    // 答错显示错误提示,同时展示正确答案
    failTip.style.display = 'block';
    correctAnswerTip.textContent = `正确答案是:${currentClue.answer}`;
    correctAnswerTip.style.display = 'block';
  }
  // 可选:提交后清空输入框,方便下次答题
  document.querySelector('#answer_input').value = '';
});

3. 修正HTML属性错误

输入框的type属性没有answer这个合法取值,改为标准的text即可:

<form>
  <div id="question"></div>
  <input id="answer_input" type="text" placeholder="Enter Answer" required/>
  <button id="submit-button" type="submit">Submit</button>
</form>
<div class="result">
  <p class="result_success">Correct</p>
  <p class="result_fail">Incorrect</p>
  <p class="result_correct-answer"></p>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:48:01