2013-04-24 2 views
-1

Эй Я делаю простую игру и выполняю некоторые функции, но я не уверен, что я делаю здесь неправильно. Он всегда предупреждает «Неправильно». Я создал текстовое поле и кнопку. при нажатии кнопки он вызывает getAnswer() и сравнивает переменную с тем, что было в текстовом поле. У меня есть чувство, что я делаю что-то неправильно с назначением переменной textBox. Но не уверен.Сравнение переменных

var currentWord = "hi" 


function getAnswer(){ 
var textBox = document.getElementById('answer_box'); 
if (textBox == currentWord){ 
alert("Correct!"); 
}else{ 
alert("Incorrect!"); 
} 

кнопку и текстовое поле код

<input type="text" id="answer_box"/> 
<input type="button" value="Submit" onclick="getAnswer();" /> 
+0

отладки 101: 'console.log (текстовое поле, currentWord);' Это покажет вам в консоли, почему он терпит неудачу. – epascarello

ответ

1

Вам нужно сравнить значение текстового поля с переменной, а не само текстовое поле!

var textBox = document.getElementById('answer_box').value;

+0

спасибо! отлично работает сейчас =) Я знал, что это что-то маленькое ха-ха – user2316675

0

Вы не получаете значение из текстового поля. Попробуйте:

var textBox = document.getElementById('answer_box').value; 
3

Вам нужно сравнить значение текстового поля не сам элемент:

textBox == currentWord 

должен быть

textBox.value == currentWord 
+0

Это правильный вариант. – georg

+1

большое спасибо! – user2316675

+0

@ thg435, было бы еще правильнее, если бы вы использовали '===' вместо '==';) Есть несколько ответов, которые так же «правильны», как ваши! –

0

ваш текстовый блок содержит элемент DOM, а не значение, вам нужно получить значение с .value;

так что вам нужно

if (textBox.value === currentWord)