Javascript测验

时间:2015-02-18 15:20:10

标签: javascript html

我之前知道这是一个话题,但经过搜索后我无法找到答案 - 也许我的问题太基础了。但是,我正在创建一个html测验 - 5个页面,分数从一个页面到下一个页面,然后在最后得分。

这是我尝试使用的代码,但它根本不起作用 - 我的JS知识非常基础,所以如果有人能解释这是如何工作的,那将非常感激。



var answers = "0";

function answerTotals() {

  if (document.getElementById("1A").checked = true) answers++;
  else(console.log("answer was incorrect"));
}

function showScore() {

  document.getElementById("Score").innerHTML = "You Got " + answers + "/6";
  console.log("Score is displayed.");
}

<div id="questions1">
  <h1>Question 1.</h1>
  <br>Why are there data types in JavaScript?
  <br>
  <br>
  <input type="radio" name="q1" value="A" id="1A" onchange="question1()">As it helps a computer differentiate between different data.

  <br>
  <input type="radio" name="q1" value="B" id="1B" onchange="question1Wrong1()">There aren't.

  <br>
  <input type="radio" name="q1" value="C" id="1C" onchange="question1Wrong2()">To help it interact with Java.

  <br>
  <input type="radio" name="q1" value="D" id="1D" onchange="question1Wrong3()">To allow it to complete a task.

  <br>
  <input type="button" value="Next" onclick="nextQuestion();answerTotals()">
  <br>
  <br>
  <p onclick="hint1()">
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

我注意到你的第一个片段:

var answers = "0";
function answerTotals() {

    if (document.getElementById("1A").checked = true) answers++;
    else(console.log("answer was incorrect"));
}

这里,在if条件中,你使用了一个等于。所以,在这里,它设置变量document.getElementById(“1A”)的值。检查到布尔值'true'。

你想这样做:

if ( document.getElementById("1A").checked == true )

或只是

if ( document.getElementById("1A").checked )

此外,您显示的else条件使用弯曲括号。虽然这个具体的例子适用于

else(console.log("answer was incorrect"));

这是不正确的,以后会引起混淆。正确的方法是:

    else console.log("answer was incorrect"); 

    else { console.log("answer was incorrect"); }