Atlanta_Boston
@Atlanta_Boston

Верстаю сайт на резюме, как сделать, чтобы форма не перезагружала страницу (код внутри)?

На странице несколько форм, они валидируются плагином jQuery. И если валидация проходит успешно мне нужно, чтобы поля формы очистились и появилось сообщение о том, что мы вам перезвоним. Но у меня как только валидация проходят успешно обновляется страница.
<form class="form js-form" id="form-request" role="form">
    <input class="name" placeholder="Full name" type="text" name="name">
    <input class="email" placeholder="Email Address" type="email" name="email">
    <input class="phone" placeholder="Phone Number" type="tel" name="tel">
    <button type="submit" class="btn">request a quote</button>
</form>


Метод each используется потому, что у меня несколько форм валидируются.
$('.js-form').each(function () {
        $(this).validate({
            rules: {
                email: {
                    required: true,
                    email: true
                },
                name: {
                    required: true,
                    minlength: 2
                },
                tel: {
                    required: true,
                    digits: true,
                    rangelength: [5, 11]
                },
                submitHandler: function () {
                    alert('почему он не срабатывает? и как очистить поля)?');
                    closeModal();
                }
            }
        });
    });
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
Atlanta_Boston
@Atlanta_Boston Автор вопроса
В общем ошибка была глупой. Я записала свойство submitHandler в rules.
Исправленный код)
$('.js-form').each(function () {
        $(this).validate({
            rules: {
                email: {
                    required: true,
                    email: true
                },
                name: {
                    required: true,
                    minlength: 2
                },
                tel: {
                    required: true,
                    digits: true,
                    rangelength: [5, 11]
                }
            },
  ----->     submitHandler: function () {
                alert('почему он не срабатывает? и как отчистить поля)?');
                closeModal();

            }
        })
    })
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Все дело в элементе button
Раз верстаете для резюме, почитайте внимательно https://developer.mozilla.org/ru/docs/Web/HTML/Ele...
Ответ написан
Ваш ответ на вопрос

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

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