2015-06-25 4 views
1

Итак, я пытаюсь показать выражение else как if, я могу заставить его работать только на 'alert().else wont work with 'document.getElementById()'

<nav></nav> 
<img src="img/lion-white.svg" alt="logo" width="300px" /> 
<h1 id="intro" class="animated fadeInLeftBig">How many fingers am I holding up?</h1> 
<input id="answer" type="value" placeholder="how many?"/><br/> 
<button id="myButton">Submit</button> 
<h1 id="right"></h1> 
<h1 id="wrong"></h1> 

JS код:

document.getElementById("myButton").onclick=function() { 
    var x = Math.random(); 

    x = 6*x; 
    x = Math.floor(x); 

    if (x==document.getElementById("answer").value) { 
     document.getElementById("right").innerHTML="<h1>YOU'RE GOOD!</h1><h2>Thanks for playing!</h2>"; 
    } else { 
     document.getElementById("wrong").innerHTML="<h1>That's wrong! My number was</h1> "+x); 
    } 
} 
+0

Что представляет собой консоль javascript? Есть ли ошибка времени выполнения? –

ответ

2

См Синтаксическая ошибка выделенный в коде ниже:

} else { 
    document.getElementById("wrong").innerHTML = "<h1>That's wrong! My number was</h1> " + x); 
    //                      ^^ 
} 

Проверьте код без ошибок:

document.getElementById("myButton").onclick = function() { 

    var x = Math.random(); 
    x *= 6; 
    x = Math.floor(x); 

    if (x === parseInt(document.getElementById("answer").value, 10)) { 
     //^^^^^^^^^^           ^^ 
     // parseInt will convert the string value in the integer and can be compared with the integer x 

     document.getElementById("right").innerHTML = "<h1>YOU'RE GOOD!</h1><h2>Thanks for playing!</h2>"; 
    } else { 
     document.getElementById("wrong").innerHTML = "<h1>That's wrong! My number was</h1> " + x; 
    } 
}; 
+0

Только одна из вещей, которые вы выделили, является синтаксической ошибкой. –

+0

@FelixKling Право! Обновлено – Tushar

+0

Вы также должны объяснить, почему вы добавили 'parseInt'. –

0

У вас есть ошибка синтаксиса (у вас есть «)», что вам не нужно в конце строки)

document.getElementById("wrong").innerHTML="<h1>That's wrong! My number was</h1> "+x); 

Вам необходимо исправить, чтобы

document.getElementById("wrong").innerHTML="<h1>That's wrong! My number was</h1> "+x;" 

Следующая время вы должны используйте инструменты веб-разработчиков (F12, firebug и т. д.), чтобы вы увидели ошибки консоли.