@xonar
А смысл?

Есть 2 формы как понять какая заполнена и отправить данные этой формы?

Здравствуйте.

Есть 2 формы на сайте и 2 функции под них. Если отправляется одна форма, то срабатывает одна функция, если вторая форма, то срабатывает вторая функция.

Кнопки сабмита одинаковые по классу, но у них разные data-modal-id пробовал проверять по инпутам заполненым они разные у форм, но что не выходит. Ниже приложу 2 функции разные первая для 1 формы, вторая для второй. Нужно чтобы если нажата кнопка сабмита получить её значение и если она равна первой форме, то выполнять первую функцию, если нет то второй.

Первая функция для формы с кнопкой отправки у которого data-modal-id="done27309"
$('.form-element').submit(function() {
    var button = document.querySelector('input[name="form[771611]"]:checked').value;
    var color = null;
    if(button == 'Белый'){
        color = 'qFKoR7ETgK9EQiH99XsXJ0';
    } else {
        color = '6vPnHI0RjsnKO7iKGmEYu2';
    }

        _rc('send', 'order', {
            'name': $(this).find('input[name="form[273045]"]').val(),
            'phone': $(this).find('input[name="form[666702]"]').val(),
            'customlead_for_site': 'site.ru',
            'itemId': color,
        });
        return false;
    })


Вторая функция для формы с кнопкой отправки у которого data-modal-id="done48767"

$('.form-element').submit(function() {
		_rc('send', 'order', {
            'name': $(this).find('input[name="form[131660]"]').val(),
            'phone': $(this).find('input[name="form[674204]"]').val(),
            'customlead_for_site': 's.ru',
        });
        return false;
    })


Сами button кнопки имеют такую структуру

<a class="component-button form-field-submit effect--opacity weight--medium size--medium filled rounded wide" data-modal-id="done48767">

<div class="form-submit-text btn-text">Отправить</div></div>

</a>
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@Diatomiccoder
В jQuery есть возможность отфильтровать результат селектора следующим образом:
$('.form-element').has('a[data-modal-id="done27309"]').submit(function() {
    /*функция обработчик для первой формы*/
});

$('.form-element').has('a[data-modal-id="done48767"]').submit(function() {
    /*функция обработчик для второй формы*/
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Обработчики переделайте в функции. У вас должно быть 2 разных функции для отправки. Далее, внутри кнопок отправки просто впишите в атрибуте onclick вызов нужной функции.
Ответ написан
Ваш ответ на вопрос

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

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