@ridoshsergei

Как настроить все формы на сайте на 1 скрипт?

На сайте 4 однотипные формы.

Как с помощью ajax работать сразу со всеми формами, а не писать код отправки для каждой?

$("#callback_top").submit(function(e) { //устанавливаем событие отправки для формы
            var re = /^\d[\d\(\)\ -]{4,14}\d$/;
            var myPhone = document.getElementById('phone').value;
            var myName = document.getElementById('name').value;
            if(myPhone == "")
            {
                sweetAlert("Неправильно заполнены поля", 'Поле "телефон" обязательно для заполнения', "error");
            }
            else
            {
                var valid = re.test(myPhone);
                if (valid)
                {
                    $.ajax({
                    type: "POST", //Метод отправки
                    url: "order.php", //путь до php фаила отправителя
                    data: {phone : myPhone , name : myName},
                    success: function(data) {
                      	yaCounter41099939.reachGoal('order');
                    	sweetAlert("Спасибо! Ваша заявка отправлена. В ближайшее время мы с вами свяжемся", "", "success");
                    }});
                }
            else
                sweetAlert("Неправильно заполнены поля", 'Поле "телефон" должно содержать правильный номер телефона', "error");
            }

        });


Данный код работает хорошо с 1 формой, но как лучше сделать что бы работать и проверять на валидность данные с разных форм?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 2
@georgepostoornca
Web Developer
через $(this)

var myPhone = $(this).find('#phone').value();
var myName = $(this).find('#name').value();
Ответ написан
Комментировать
greyhard
@greyhard
Программист, автолюбитель
для начала поменять $("#callback_top") на $("form") - захватывает все формы или $("form.ajax") все формы с классом аякс
Затем использовать для обязательных полей атрибут required
затем получать списки всех полей с requred
$('input,textarea,select').filter('[required]:visible')

и проверть поле по правилу.
Правило можно задать через data-rule
<input type="text" data-rule="notempty" required>

и дальше в таком же духе
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mirkom63
@Mirkom63
Я программист
Я писал недавно скрипт для форм свой: https://github.com/lesson-web/forms-lw
Можете глянуть исходники или заюзать мой, может.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы