JavaScript Предупреждение не отображается. addEventListener HTML Форма - PullRequest
0 голосов
/ 14 апреля 2020

Я слежу за курсом InLearning и пытаюсь самостоятельно следовать коду. Однако, похоже, код не работает ни в одном браузере. Поскольку я новичок в кодировании, я не уверен, что является причиной проблемы.

Вот код JavsScript.

(function() {
"use strict";

var state = document.getElementById('s-state');

document.addEventListener('DOMContentLoaded', function() {
    document.getElementById('cart-hplus').addEventListener('submit', estimateTotal);

    var btnEstimate = document.getElementById('btn-estimate');

    btnEstimate.disabled = true;

    state.addEventListener('change',function() {

        if (state.value === '') {
            btnEstimate.disabled = true;
        } else {
            btnEstimate.disabled = false;

        }
    });
});



function estimateTotal(event) {
    event.preventDefault();

    if (state.value === '') {
        alert('Please choose your shipping state.');

        state.focus();
    }
}

})();

Вместо этого браузер распознает обязательное поле, прикрепленное к элементу html, и отображает встроенный

Picture of the Element that should be affected

Соответствует HTML ниже.


<form class="cart" id="cart-hplus">

<div class="group calc">
                        <p>
                        <label for="btn-estimate">Click to estimate:</label><br>
                        <input type="submit" value="Estimate Total" id="btn-estimate">
                        <input type="text" id="txt-estimate" placeholder="$0.00">
                        </p>

                        <div id="results"></div>
                    </div>

<div class="group state">
                        <label for="s-state">State (required):</label>
                        <select id="s-state" required>
                            <option value="">- select -</option>
                            <option value="CA">California (7.5% tax)</option>
                            <option value="IL">Illinois</option>
                            <option value="NH">New Hampshire</option>
                            <option value="PA">Pennsylvania</option>
                        </select>
                    </div>

<script src="script.js"></script>
</body>
</html>

Мне известно об отключенной части, которая является отдельной проблемой, которая будет рассмотрена в следующей части файл. Я вижу, как они это исправляют. Моя проблема заключается в том, что когда я нажимаю на кнопку оценки общего объема отправки, JavaScript должен активировать предупреждение, а затем выделить поле состояния, если что-то не выбрано из списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...