Как передать значение текстового поля и сравнить его с переменной.. Javascript

#javascript #html #css

#javascript #HTML #css

Вопрос:

  1. Как я могу отобразить оценку, когда ответ правильный, в <div id="score> или <span id="_score> если ответ правильный?
  2. Как я могу сравнить значение моего текстового поля со значением результатов… чтобы я мог выполнить оператор if else
 <script>

    var points = 0;
    function setVal(){                      
        document.getElementById("_score").innerHTML =points;

    }

    function display(){

        var num1 = Math.round(Math.random()*10  1);
        var num2 = Math.round(Math.random()*10  1);

        document.getElementById("_score").innerHTML =points;

        document.getElementById('r1').innerHTML = num1;
        document.getElementById('r2').innerHTML = num2; 

        var result = num1 * num2;

        var answer = document.getElementById('answer').value;

    }


    </script>
  

Комментарии:

1. Итак, у вас есть result и вы хотите сравнить его с answer ? Вы пробовали === ?…

2.Где находится ваше if else утверждение, о котором вы говорите?

3. Сначала вам следует ознакомиться с базовыми руководствами. Существует множество таких программ, которые помогут вам учиться прямо с нуля.

4. вот мой оператор if ..else if(результат == ответ){ alert(‘правильный’); }else{ alert (‘НЕПРАВИЛЬНЫЙ!’) }

5. когда я пытаюсь это сделать .. и я помещаю правильный ответ в свое текстовое поле .. окно предупреждения не отображается

Ответ №1:

 var points = 0;
var correctAnswer;

updatePoints();
init();

//Generate the 2 numbers and calculate the correct answer
function init() {
  document.getElementById("answer").value = "";

  var num1 = Math.round(Math.random() * 10   1);
  var num2 = Math.round(Math.random() * 10   1);

  document.getElementById('r1').value = num1;
  document.getElementById('r2').value = num2;

  correctAnswer = num1 * num2;
}

//Update the score
function updatePoints() {
  document.getElementById("_score").innerHTML = points;
}

//Check the user's answer with the correct one. If this is correct, score increase.
function validate() {
  var userAnswer = document.getElementById("answer").value;

  if (userAnswer == correctAnswer) {
    alert("Correct !");
    points  ;
  } else {
    alert("Wrong !");
  }

  updatePoints();
  init();
}  
 <input type="number" id="r1" />*
<input type="number" id="r2" />=
<input type="number" id="answer" />
<button onclick="validate()">Validate</button>
<h1>Score</h1>

<p id="_score"></p>  

Ответ №2:

Я не уверен, чего вы добиваетесь в своем коде, но чтобы ответить на ваш вопрос о сравнении переменной со значением поля ввода, взгляните на этот код:

HTML

 <input type="text" id="answerTextField">
<input type="button" id="answerButton" value="Answer">
  

Javascript

 var answerTextField = document.getElementById('answerTextField');
var answerButton = document.getElementById('answerButton');

var myAnswer = "5";

answerButton.click(function(e) {
  if(answerTextField.value == myAnswer) {
    alert('Correct');
  } else {
    alert('Wrong answer...');
  }

  return false;
});
  

У меня есть поле ввода, в котором я сравниваю его значение со значением, которое хранится в переменной myAnswer. Сравнение производится при нажатии кнопки.

Я еще не пробовал код, но он должен, по крайней мере, указать вам путь…

Комментарии:

1. Я попробовал это … и я не вставил onclick = «» в свою кнопку html in …. и это не сработало … по-прежнему не отображается окно оповещения…

Ответ №3:

 button.click(function(e) {
  if(answer == result.toString()) {
      alert('Correct');
   } else {
      alert('Wrong!');
   }
   return false;
});