首页 > 解决方案 > 单击不同的按钮时,javascript的功能不会重新运行

问题描述

如果按下不同的按钮,我试图让<h4>标签更新,但它不会改变。我希望每次单击按钮时都重新运行这两个功能。

function submit(clicked_id) {
  var answer = document.getElementById(clicked_id).innerHTML;
  answercheck()
}

function answercheck() {
  if (answer != "George Washington") {
    document.getElementById("answer").innerHTML = "You are incorrect.";
  } else {
    document.getElementById("answer").innerHTML = "You are correct!";
  }
}
<h1>Quiz</h1>
<h3>Who is the first president of the United States?</h3>
<button onclick="submit(this.id);" id="ans1">Benjamin Franklin</button>
<button onclick="submit(this.id);" id="ans2">George Washington</button>
<button onclick="submit(this.id);" id="ans3">Thomas Edison</button>
<h4 id="answer"></h4>

标签: javascript

解决方案


你的范围answer是错误的。它绑定到您的提交功能。在它之外声明它,以便两个函数都可以访问它:

var answer;
function submit(clicked_id) {
  answer = document.getElementById(clicked_id).innerHTML;
  answercheck()
}

function answercheck() {
  if (answer != "George Washington") {
    document.getElementById("answer").innerHTML = "You are incorrect.";
  } else {
    document.getElementById("answer").innerHTML = "You are correct!";
  }
}
<h1>Quiz</h1>
<h3>Who is the first president of the United States?</h3>
<button onclick="submit(this.id);" id="ans1">Benjamin Franklin</button>
<button onclick="submit(this.id);" id="ans2">George Washington</button>
<button onclick="submit(this.id);" id="ans3">Thomas Edison</button>
<h4 id="answer"></h4>


推荐阅读