Вопрос: Почему я не могу получить значение входного текста #userGuess
в переменной userInput
?
Вот HTML
<div class="row-fluid">
<div class="span12" style="text-align:center">
<form>
<fieldset>
<legend>Guessing Game</legend>
<label>Input a number in your mind</label>
<input type="text" id="userGuess" auto-complete="off">
<span class="help-block" style="display:block">
<p class="help-block" id="resultWaiting" style="display:block">Results!</p>
<p class="help-block" id="resultWarmer" style="display:none; color:#E61010">Warmer!</p>
<p class="help-block" id="resultColder" style="display:none; color:#104CE6">Brr! Colder</p>
<p class="help-block" id="resultCorrect" style="display:none; color:#E61010">YES! YOU GOT IT</p>
</span>
<button type="submit" id="submitButton" class="btn">Submit</button>
<button class="btn btn-danger" type="button">Show Result</button>
</fieldset>
</form>
</div>
</div>
И вот код javascript
$("#submitButton").click(submit);
function submit() {
var userInput = $('#userGuess').val();
if (userInput == pcRandom) {
$("#resultWaiting").css("display","none");
$("#resultCorrect").css("display","block");
} else{
compare(userInput, pcRandom);
}
}
При отладке в Chrome Dev Tools он просто сказал, что переменные userInput не определены.
Я использую Bootstrap для рамки css и jQuery
Это сработало для меня после того, как я добавил event.preventDefault()
в jQuery. Однако это предполагает, что compare
сравнивает два догадки и соответственно изменяет CSS и что pcRandom
выбирает случайное число:
$("#submitButton").click(function(event) {
event.preventDefault();
submit();
});
function submit() {
var userInput = $('#userGuess').val();
var pcRandom = 5;
console.log(userInput);
if (userInput == pcRandom) {
$("#resultWaiting").css("display","none");
$("#resultCorrect").css("display","block");
} else{
compare(userInput, pcRandom);
}
}
РЕДАКТИРОВАТЬ:
Здесь полностью функционирует JSFiddle: http://jsfiddle.net/9VYvg/