Задать вопрос
@QWERTY01

В чем ошибка такой отправки формы?

Как правильно реализовать такую логику?
Проверить поле на корректность введенного номера телефона, и если номер телефона не корректен, то запретить отправку формы.

Вот как я реализовал это, но алерт не отрабатывает и форма не отправляется на почту, страница просто перезагружается.
P.s. если убрать код, который проверяет поле на корретность номера, то все работает.
window.onload = function () {

    var inputsNumb = document.querySelector('.check[name=phone]');

    document.querySelector(".form").addEventListener("submit", function (e) {
        var regex = /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/;

            if (!regex.test(inputsNumb.value)) {
                inputsNumb.value = '';
                inputsNumb.placeholder = 'введите телефон';
                e.preventDefault();
            }
            else{
            $(".form").submit(function () {
                $.ajax({
                    type: "POST",
                    url: "mail.php",
                    data: $(this).serialize()
                }).done(function () {
                    alert("форма отправлена");
                });
                return false;
            });
        }
    });
}
  • Вопрос задан
  • 125 просмотров
Подписаться 2 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@holodoz
В начале нужно запретить поведение по умолчанию, собственно отправку формы
e.preventDefault();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы