Получение данных из входного текста в переменную

0

Вопрос: Почему я не могу получить значение входного текста #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

  • 1
    должен, лучшая практика, не должен. JavaScript организует это внутренне: jsfiddle.net/uJDnd
  • 1
    Не вижу проблем с кодом. Работает нормально jsfiddle.net/amantur/CUDJR
Показать ещё 2 комментария
Теги:
input

1 ответ

1
Лучший ответ

Это сработало для меня после того, как я добавил 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/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню