Вызовите JS onsubmit только тогда, когда форма верна - PullRequest
0 голосов
/ 23 февраля 2019

Я новичок в JS.У меня есть форма начальной загрузки и использование проверки, как это:

<form class="needs-validation" novalidate onsubmit="myFunction();">
            <div class="form-group row col-sm-3">
                <label for="exampleInput">Value</label>
                <input type="text" class="form-control" id="exampleInput" placeholder="Enter value" required>
                <div class="invalid-feedback">
                    Value required
                </div>
            </div>
</form>

и код JS:

    <script>
        (function() {
            'use strict';
            window.addEventListener('load', function() {
                // Fetch all the forms we want to apply custom Bootstrap validation styles to
                var forms = document.getElementsByClassName('needs-validation');
                // Loop over them and prevent submission
                var validation = Array.prototype.filter.call(forms, function(form) {
                    form.addEventListener('submit', function(event) {
                        if (form.checkValidity() === false) {
                            event.preventDefault();
                            event.stopPropagation();
                        }
                        form.classList.add('was-validated');
                    }, false);
                });
            }, false);
        })();
    </script>

Проверка работает нормально, но myFunction () вызывается всегда, когда форма недействительна и когда действительна.

Как я могу заставить myFunction () вызываться только тогда, когда форма действительна?

...